Upload 33 files
Browse files- _redirects +1 -0
- assets/example_images/Anime/1.jpg +3 -0
- assets/example_images/Anime/2.jpg +3 -0
- assets/example_images/Anime/3.jpg +3 -0
- assets/example_images/Anime/4.jpg +3 -0
- assets/example_images/Ghibli-Pixar/1.jpg +3 -0
- assets/example_images/Ghibli-Pixar/2.jpg +3 -0
- assets/example_images/Ghibli-Pixar/3.jpg +0 -0
- assets/example_images/Ghibli-Pixar/4.jpg +3 -0
- assets/example_images/Misc/1.jpg +3 -0
- assets/example_images/Misc/2.jpg +0 -0
- assets/example_images/Misc/3.jpg +0 -0
- assets/example_images/Misc/4.jpg +0 -0
- assets/example_images/Nature/1.jpg +3 -0
- assets/example_images/Nature/2.jpg +3 -0
- assets/example_images/Nature/3.jpg +0 -0
- assets/example_images/Nature/4.jpg +3 -0
- assets/example_images/Space/1.jpg +0 -0
- assets/example_images/Space/2.jpg +3 -0
- assets/example_images/Space/3.jpg +3 -0
- assets/example_images/Space/4.jpg +3 -0
- assets/example_images/Streets/1.jpg +3 -0
- assets/example_images/Streets/2.jpg +3 -0
- assets/example_images/Streets/3.jpg +3 -0
- assets/example_images/Streets/4.jpg +3 -0
- assets/firebase-CWl4LEc7.js +0 -0
- assets/index-CQhYMIc5.js +81 -0
- assets/index-DfLbT_5b.css +1 -0
- assets/logo/logo.jpg +0 -0
- assets/ui-BjUdCpih.js +9 -0
- assets/vendor-CjHduoA4.js +0 -0
- assets/vendor-other-B0VykD61.js +9 -0
- index.html +31 -0
_redirects
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
/* /index.html 200
|
assets/example_images/Anime/1.jpg
ADDED
|
Git LFS Details
|
assets/example_images/Anime/2.jpg
ADDED
|
Git LFS Details
|
assets/example_images/Anime/3.jpg
ADDED
|
Git LFS Details
|
assets/example_images/Anime/4.jpg
ADDED
|
Git LFS Details
|
assets/example_images/Ghibli-Pixar/1.jpg
ADDED
|
Git LFS Details
|
assets/example_images/Ghibli-Pixar/2.jpg
ADDED
|
Git LFS Details
|
assets/example_images/Ghibli-Pixar/3.jpg
ADDED
|
assets/example_images/Ghibli-Pixar/4.jpg
ADDED
|
Git LFS Details
|
assets/example_images/Misc/1.jpg
ADDED
|
Git LFS Details
|
assets/example_images/Misc/2.jpg
ADDED
|
assets/example_images/Misc/3.jpg
ADDED
|
assets/example_images/Misc/4.jpg
ADDED
|
assets/example_images/Nature/1.jpg
ADDED
|
Git LFS Details
|
assets/example_images/Nature/2.jpg
ADDED
|
Git LFS Details
|
assets/example_images/Nature/3.jpg
ADDED
|
assets/example_images/Nature/4.jpg
ADDED
|
Git LFS Details
|
assets/example_images/Space/1.jpg
ADDED
|
assets/example_images/Space/2.jpg
ADDED
|
Git LFS Details
|
assets/example_images/Space/3.jpg
ADDED
|
Git LFS Details
|
assets/example_images/Space/4.jpg
ADDED
|
Git LFS Details
|
assets/example_images/Streets/1.jpg
ADDED
|
Git LFS Details
|
assets/example_images/Streets/2.jpg
ADDED
|
Git LFS Details
|
assets/example_images/Streets/3.jpg
ADDED
|
Git LFS Details
|
assets/example_images/Streets/4.jpg
ADDED
|
Git LFS Details
|
assets/firebase-CWl4LEc7.js
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
assets/index-CQhYMIc5.js
ADDED
|
@@ -0,0 +1,81 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import{r as c,R as L,j as e,S as He,M as Ve,a as J,W as Ae,Z as Ye,F as qe,I as We,b as Ke,c as Je,L as Xe,Y as Ze,d as Qe,H as he,C as et,e as tt,f as st,g as rt,h as at,D as _e,i as Ne,T as Ce,k as it,E as nt,X as ot,l as lt,m as dt,n as ct,o as mt}from"./vendor-CjHduoA4.js";import{i as ut,g as pt,a as ht,b as ft,o as gt,d as T,c as S,s as b,e as z,u as R,f as xt,q as bt,h as wt,l as yt,j as vt,k as jt}from"./firebase-CWl4LEc7.js";import{Z as Te,_ as Re}from"./vendor-other-B0VykD61.js";import{m as f,A as U}from"./ui-BjUdCpih.js";(function(){const r=document.createElement("link").relList;if(r&&r.supports&&r.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))a(i);new MutationObserver(i=>{for(const n of i)if(n.type==="childList")for(const o of n.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&a(o)}).observe(document,{childList:!0,subtree:!0});function t(i){const n={};return i.integrity&&(n.integrity=i.integrity),i.referrerPolicy&&(n.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?n.credentials="include":i.crossOrigin==="anonymous"?n.credentials="omit":n.credentials="same-origin",n}function a(i){if(i.ep)return;i.ep=!0;const n=t(i);fetch(i.href,n)}})();const Se="visiora-theme",kt=()=>{const[s,r]=c.useState(()=>{if(typeof window>"u")return!0;const n=localStorage.getItem(Se);return n?JSON.parse(n):window.matchMedia("(prefers-color-scheme: dark)").matches}),t=c.useCallback(n=>{const o=document.documentElement;o.style.setProperty("transition","none","important"),n?(o.classList.add("dark"),o.setAttribute("data-theme","dark")):(o.classList.remove("dark"),o.setAttribute("data-theme","light")),o.offsetHeight,requestAnimationFrame(()=>{requestAnimationFrame(()=>{o.style.removeProperty("transition")})}),localStorage.setItem(Se,JSON.stringify(n))},[]);c.useEffect(()=>{t(s)},[]);const a=c.useCallback(()=>{r(n=>{const o=!n;return t(o),o})},[t]),i=c.useCallback(n=>{r(n),t(n)},[t]);return{isDarkMode:s,toggleTheme:a,setTheme:i}},Nt=(s,r)=>{const[t,a]=c.useState(()=>{try{const o=window.localStorage.getItem(s);return o?JSON.parse(o):r}catch(o){return console.error(`Error reading localStorage key "${s}":`,o),r}}),i=c.useCallback(o=>{try{const h=o instanceof Function?o(t):o;a(h),h!==void 0?window.localStorage.setItem(s,JSON.stringify(h)):window.localStorage.removeItem(s)}catch(h){console.error(`Error setting localStorage key "${s}":`,h)}},[s,t]),n=c.useCallback(()=>{try{window.localStorage.removeItem(s),a(r)}catch(o){console.error(`Error removing localStorage key "${s}":`,o)}},[s,r]);return[t,i,n]},Ct={BASE_URL:"./",DEV:!1,MODE:"production",PROD:!0,SSR:!1,VITE_FIREBASE_API_KEY:"AIzaSyDIh6HYT44xvzhr4WJhH8FzprBrNgL7Szs",VITE_FIREBASE_APP_ID:"1:407125000154:web:375e7e11837a41a87e0ae3",VITE_FIREBASE_AUTH_DOMAIN:"my-img-pro.firebaseapp.com",VITE_FIREBASE_MESSAGING_SENDER_ID:"407125000154",VITE_FIREBASE_PROJECT_ID:"my-img-pro",VITE_FIREBASE_STORAGE_BUCKET:"my-img-pro.firebasestorage.app"},St={apiKey:"AIzaSyDIh6HYT44xvzhr4WJhH8FzprBrNgL7Szs",authDomain:"my-img-pro.firebaseapp.com",projectId:"my-img-pro",storageBucket:"my-img-pro.firebasestorage.app",messagingSenderId:"407125000154",appId:"1:407125000154:web:375e7e11837a41a87e0ae3",measurementId:void 0},It=["VITE_FIREBASE_API_KEY","VITE_FIREBASE_AUTH_DOMAIN","VITE_FIREBASE_PROJECT_ID","VITE_FIREBASE_STORAGE_BUCKET","VITE_FIREBASE_MESSAGING_SENDER_ID","VITE_FIREBASE_APP_ID"],ce=It.filter(s=>!Ct[s]);if(ce.length>0)throw console.error("Missing required environment variables:",ce),new Error(`Missing Firebase configuration: ${ce.join(", ")}`);const fe=ut(St),V=pt(fe),I=ht(fe);ft(fe);V.settings={appVerificationDisabledForTesting:!1};V.onAuthStateChanged(s=>{s&&console.log("User authenticated successfully")},s=>{console.error("Auth state change error:",s)});function Et(){const[s,r]=c.useState(null),[t,a]=c.useState(!0),[i,n]=c.useState(null);return c.useEffect(()=>gt(V,h=>{r(u=>!u||!h||u.uid!==h.uid?h:u),a(!1)}),[]),{user:s,loading:t,error:i}}const ee=0,me=0,De=async(s,r={})=>{if(s)try{const t=T(I,"users",s.uid),a=await S(t);if(a.exists()){const i=a.data(),n={lastLogin:b()};return i.credits===void 0?(n.credits={free:ee,paid:me},n.lastCreditRefresh=b()):typeof i.credits=="number"&&(n.credits={free:ee,paid:i.credits},n.lastCreditRefresh=b()),await R(t,n),{id:s.uid,...i,...n}}else{const{email:i,displayName:n,photoURL:o}=s,h=n||r.displayName||(i?i.split("@")[0]:"User"),u={email:i||"anonymous@user.com",name:h,photoURL:o||null,createdAt:b(),lastLogin:b(),lastCreditRefresh:b(),credits:{free:ee,paid:me},preferences:{defaultModel:"flux",defaultShape:"landscape",notifications:!0},...r};try{await z(T(I,"users",s.uid),u)}catch(d){console.error("Initial write attempt failed:",d),console.error("Error details:",d.code,d.message),await new Promise(g=>setTimeout(g,800)),await z(T(I,"users",s.uid),u)}let m;try{await new Promise(d=>setTimeout(d,500)),m=await S(t)}catch(d){console.error("Error verifying user creation:",d),await new Promise(g=>setTimeout(g,1e3)),m=await S(t)}return m&&m.exists()||(console.error("Failed to verify user creation - unexpected database behavior"),await z(t,u,{merge:!0})),{id:s.uid,...u}}}catch(t){console.error("Error creating/updating user profile",t),console.error("Error details:",t.code,t.message);try{await new Promise(o=>setTimeout(o,1e3));const a=T(I,"users",s.uid),i={email:s.email||"anonymous@user.com",name:s.displayName||"User",createdAt:b(),lastLogin:b(),credits:{free:ee,paid:me},lastCreditRefresh:b()};if(await z(a,i,{merge:!0}),(await S(a)).exists())return At(s.uid);throw new Error("Failed to verify document creation after retry")}catch(a){throw console.error("Retry also failed:",a),console.error("Retry error details:",a.code,a.message),t}}},At=async s=>{if(!s)return null;try{const r=T(I,"users",s),t=await S(r);if(t.exists()){const a=t.data();if(typeof a.credits=="number"){const i={credits:{free:ee,paid:a.credits},lastCreditRefresh:b()};return await R(r,i),{id:s,...a,credits:i.credits}}return{id:s,...a}}else{const a=V.currentUser;if(a&&a.uid===s)return De(a)}return null}catch(r){throw console.error("Error getting user profile",r),r}},X=5,te=0,se=0,G=5,re=()=>{const s=localStorage.getItem("miragic_anonymous_credits");if(s===null)return localStorage.setItem("miragic_anonymous_credits",X.toString()),X;const r=parseInt(s,5);return isNaN(r)?X:r},_t=()=>{try{let s=localStorage.getItem("miragic_anonymous_credits");(s===null||isNaN(parseInt(s,5)))&&(localStorage.setItem("miragic_anonymous_credits",X.toString()),s=X.toString());const r=parseInt(s,5);if(console.log("Anonymous credits before decrease (direct):",r),r<=0)return localStorage.setItem("miragic_anonymous_credits","0"),0;const t=r-1;return localStorage.setItem("miragic_anonymous_credits",t.toString()),parseInt(localStorage.getItem("miragic_anonymous_credits"),5)}catch(s){return console.error("Error decreasing anonymous credits:",s),0}},Ie=async s=>{if(!s){const r=re();return{freeCredits:r,paidCredits:0,total:r}}try{const r=T(I,"users",s),t=await S(r);if(console.log("User document exists:",t.exists()),!t.exists()||t.data().credits===void 0){const d={credits:{free:te,paid:se},lastCreditRefresh:b(),lastLogin:b()};return t.exists()||(d.email=V.currentUser?.email||"unknown@user.com",d.name=V.currentUser?.displayName||"User",d.createdAt=b()),await z(r,d,{merge:!0}),{freeCredits:te,paidCredits:se,total:te+se}}const a=t.data();if(typeof a.credits=="number"){const d=a.credits||0,g={free:G,paid:d};return await R(r,{credits:g,lastCreditRefresh:b()}),{freeCredits:g.free,paidCredits:g.paid,total:g.free+g.paid}}const i=a.credits||{free:0,paid:0},n=a.lastCreditRefresh?.toDate()||new Date(0),o=new Date;if(n.getDate()!==o.getDate()||n.getMonth()!==o.getMonth()||n.getFullYear()!==o.getFullYear()){const d={free:G,paid:i.paid||0};return await R(r,{credits:d,lastCreditRefresh:b()}),{freeCredits:d.free,paidCredits:d.paid,total:d.free+d.paid}}const u=i.free||0,m=i.paid||0;return{freeCredits:u,paidCredits:m,total:u+m}}catch(r){return console.error("Error fetching user credits:",r),{freeCredits:0,paidCredits:0,total:0}}},Tt=async s=>{if(!s){const r=_t();return{freeCredits:r,paidCredits:0,total:r}}try{const r=T(I,"users",s);let t;try{t=await S(r)}catch(m){console.error("Error fetching user document:",m),await new Promise(d=>setTimeout(d,800)),t=await S(r)}if(!t.exists()){console.error("User document not found when spending credit");const m=V.currentUser;if(m&&m.uid===s){const d={free:te-1,paid:se};return await z(r,{email:m.email||"unknown@user.com",name:m.displayName||"User",createdAt:b(),lastLogin:b(),credits:d,lastCreditRefresh:b()}),{freeCredits:d.free,paidCredits:d.paid,total:d.free+d.paid}}return!1}const a=t.data();if(typeof a.credits=="number"){const m=a.credits||0;if(m<=0)return{freeCredits:0,paidCredits:0,total:0};const d={free:G-1,paid:m};return await R(r,{credits:d,lastCreditRefresh:b()}),{freeCredits:d.free,paidCredits:d.paid,total:d.free+d.paid}}const i=a.credits||{free:0,paid:0},n=i.free||0,o=i.paid||0;if(n+o<=0)return{freeCredits:0,paidCredits:0,total:0};const u={...i};n>0?u.free=n-1:u.paid=o-1;try{await R(r,{credits:u})}catch(m){console.error("Error updating credits:",m),await z(r,{credits:u},{merge:!0})}try{const d=(await S(r)).data().credits;return{freeCredits:d.free||0,paidCredits:d.paid||0,total:(d.free||0)+(d.paid||0)}}catch(m){return console.error("Error verifying credit update:",m),{freeCredits:u.free,paidCredits:u.paid,total:u.free+u.paid}}}catch(r){return console.error("Error using credit:",r),!1}},Rt=async(s,r)=>{if(!s||!r||r<=0)return!1;try{const t=T(I,"users",s),a=await S(t);if(!a.exists())return console.error("User document not found when adding paid credits"),!1;const i=a.data();if(typeof i.credits=="number"){const u=i.credits||0,m={free:G,paid:u+r};return await R(t,{credits:m,lastCreditRefresh:b()}),{freeCredits:m.free,paidCredits:m.paid,total:m.free+m.paid}}const n=i.credits||{free:0,paid:0},o=n.paid||0,h={...n,paid:o+r};return await R(t,{credits:h}),{freeCredits:h.free||0,paidCredits:h.paid,total:(h.free||0)+h.paid}}catch(t){return console.error("Error adding paid credits:",t),!1}},Dt=async s=>{if(!s)return!1;try{const r=T(I,"users",s),t=await S(r),a=re();if(t.exists()){const i=t.data(),n=new Date;if(typeof i.credits=="number"){const g=i.credits||0,w={free:G,paid:g};return await R(r,{credits:w,lastCreditRefresh:b(),lastLogin:b()}),{freeCredits:w.free,paidCredits:w.paid,total:w.free+w.paid}}const o=i.credits||{free:0,paid:0},h=i.lastLogin?.toDate()||new Date(0),u=i.lastCreditRefresh?.toDate()||new Date(0),m=u.getDate()!==n.getDate()||u.getMonth()!==n.getMonth()||u.getFullYear()!==n.getFullYear();let d={...o};return m&&(d.free=G,console.log(`Free credits reset to daily maximum (${G})`)),await R(r,{lastLogin:b(),credits:d,...m&&{lastCreditRefresh:b()}}),{freeCredits:d.free,paidCredits:d.paid,total:d.free+d.paid}}else{const i={free:te,paid:se};return await z(r,{credits:i,lastCreditRefresh:b(),lastLogin:b(),createdAt:b()},{merge:!0}),{freeCredits:i.free,paidCredits:i.paid,total:i.free+i.paid}}}catch(r){return console.error("Error initializing credits on login:",r),!1}},Me=c.createContext();function Mt({children:s}){const r=Et(),[t,a]=c.useState({freeCredits:0,paidCredits:0,total:0}),[i,n]=c.useState(!0);c.useEffect(()=>{if(!r.user&&!r.loading){localStorage.getItem("visiora_anonymous_credits")===null&&localStorage.setItem("visiora_anonymous_credits",X.toString());const x=re();a({freeCredits:x,paidCredits:0,total:x}),n(!1)}},[r.user,r.loading]),c.useEffect(()=>{(async()=>{if(r.user)try{n(!0);let p=null,y=0;const v=3;for(;y<v&&!p;)try{p=await De(r.user)}catch{y++,y<v&&await new Promise(E=>setTimeout(E,1e3))}if(!p)throw new Error(`Failed to create user profile after ${v} attempts`);await new Promise(N=>setTimeout(N,1e3));const k=await Dt(r.user.uid);k?a(k):p&&p.credits&&(typeof p.credits=="number"?a({freeCredits:0,paidCredits:p.credits,total:p.credits}):a({freeCredits:p.credits.free||0,paidCredits:p.credits.paid||0,total:(p.credits.free||0)+(p.credits.paid||0)}))}catch{}finally{n(!1)}})()},[r.user]);const[o,h]=c.useState(0),u=5e3,m=async()=>{const x=Date.now();if(x-o<u)return t;h(x),n(!0);try{if(!r.user){const y=re(),v={freeCredits:y,paidCredits:0,total:y};return a(v),v}const p=await Ie(r.user?.uid);return a(p),p}catch{return t}finally{n(!1)}},d=async()=>{try{let x;if(r.user)try{x=await Ie(r.user.uid)}catch{x=t}else{const v=re();x={freeCredits:v,paidCredits:0,total:v}}if(x.total<=0)return a({freeCredits:0,paidCredits:0,total:0}),!1;const p={...x};p.freeCredits>0?p.freeCredits-=1:p.paidCredits-=1,p.total=p.freeCredits+p.paidCredits,a(p);const y=await Tt(r.user?.uid);return y?(a(y),!0):(y===!1&&a(x),!1)}catch{return m(),!1}},g=async x=>{if(!r.user)return!1;try{const p=await Rt(r.user.uid,x);return p?(a(p),!0):!1}catch{return!1}},w=L.useMemo(()=>{if(typeof t=="object"&&t!==null){const p={free:t.free||t.freeCredits||0,paid:t.paid||t.paidCredits||0,total:t.total||(t.free||t.freeCredits||0)+(t.paid||t.paidCredits||0),...t};return p.toString=function(){return String(this.total)},p}if(typeof t=="number"){const p={free:t,paid:0,total:t};return p.toString=function(){return String(this.total)},p}const x={free:0,paid:0,total:0};return x.toString=function(){return"0"},x},[t]);return e.jsx(Me.Provider,{value:{...r,credits:w,isLoadingCredits:i,refreshCredits:m,spendCredit:d,addCredits:g},children:s})}function ae(){return c.useContext(Me)}function F(...s){return Te(Re(s))}const Lt=({isDarkMode:s,onToggle:r,className:t=""})=>e.jsxs(f.button,{onClick:r,className:F("relative w-10 h-10 sm:w-12 sm:h-12 rounded-full border border-white/20 backdrop-blur-md overflow-hidden flex-shrink-0","bg-gradient-to-br from-white/10 to-white/5","hover:from-white/20 hover:to-white/10 hover:border-white/30","focus:outline-none focus:ring-2 focus:ring-purple-500/50 focus:ring-offset-2 focus:ring-offset-transparent","transition-colors duration-150 ease-out","touch-manipulation",t),whileHover:{scale:1.05},whileTap:{scale:.95},transition:{type:"spring",stiffness:400,damping:25,duration:.1},"aria-label":`Switch to ${s?"dark":"light"} mode`,children:[e.jsx(f.div,{className:"absolute inset-0 rounded-full bg-gradient-to-br from-purple-500/15 to-pink-500/15",animate:{opacity:s?.2:.4},transition:{duration:.15,ease:"easeOut"}}),e.jsx("div",{className:"relative w-full h-full flex items-center justify-center",children:e.jsx(U,{mode:"wait",initial:!1,children:s?e.jsx(f.div,{initial:{opacity:0,rotate:-30,scale:.9},animate:{opacity:1,rotate:0,scale:1},exit:{opacity:0,rotate:30,scale:.9},transition:{duration:.12,ease:"easeOut"},children:e.jsx(He,{className:"w-4 h-4 sm:w-5 sm:h-5 text-yellow-400"})},"sun"):e.jsx(f.div,{initial:{opacity:0,rotate:30,scale:.9},animate:{opacity:1,rotate:0,scale:1},exit:{opacity:0,rotate:-30,scale:.9},transition:{duration:.12,ease:"easeOut"},children:e.jsx(Ve,{className:"w-4 h-4 sm:w-5 sm:h-5 text-blue-400"})},"moon")})})]});function Ut({onLoginClick:s}){const{user:r,logout:t,credits:a,isLoadingCredits:i,refreshCredits:n}=ae(),[o,h]=L.useState(!1);L.useEffect(()=>{console.log("UserProfileButton: user or refreshCredits changed"),r&&n&&(console.log("Refreshing credits on mount or user change"),n())},[r,n]),L.useEffect(()=>{console.log("Credits updated:",a)},[a]);const u=L.useMemo(()=>a?typeof a=="object"?{free:a.free||a.freeCredits||0,paid:a.paid||a.paidCredits||0,total:a.total||(a.free||a.freeCredits||0)+(a.paid||a.paidCredits||0)}:typeof a=="number"?{free:0,paid:a,total:a}:{free:0,paid:0,total:0}:{free:0,paid:0,total:0},[a]);return r?e.jsx("div",{className:"flex items-center space-x-3",children:e.jsx("div",{className:"flex flex-col items-start",children:e.jsxs("div",{className:"flex items-center justify-center",children:[e.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"h-4 w-4 text-yellow-500 mr-1",viewBox:"0 0 20 20",fill:"currentColor",children:e.jsx("path",{d:"M10 2a8 8 0 100 16 8 8 0 000-16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z"})}),e.jsxs("span",{className:"text-xs font-medium",children:["Free: ",i?"...":u.free]})]})})}):e.jsx("div",{className:"flex items-center gap-3",children:e.jsx("div",{className:"flex flex-col items-start mr-2",children:e.jsxs("div",{className:"flex items-center justify-center",children:[e.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"h-4 w-4 text-yellow-500 mr-1",viewBox:"0 0 20 20",fill:"currentColor",children:e.jsx("path",{d:"M10 2a8 8 0 100 16 8 8 0 000-16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z"})}),e.jsxs("span",{className:"text-xs font-medium",children:["Free: ",i?"...":u.free]})]})})})}const Pt=({isDarkMode:s,onThemeChange:r})=>{const[t,a]=c.useState(!1),[i,n]=c.useState("login"),[o,h]=c.useState(!1),{user:u}=ae();return L.useEffect(()=>{const m=()=>{h(window.innerWidth<768)};return m(),window.addEventListener("resize",m),()=>window.removeEventListener("resize",m)},[]),e.jsx(f.header,{className:"fixed top-0 left-0 right-0 z-50 border-b border-slate-200/20 dark:border-white/10 bg-white/80 dark:bg-white/5 backdrop-blur-md w-full",initial:{y:-100},animate:{y:0},transition:{type:"spring",stiffness:300,damping:30},children:e.jsx("div",{className:"container mx-auto px-4 sm:px-6 py-4 w-full",children:e.jsxs("div",{className:"flex items-center justify-between w-full",children:[e.jsxs(f.div,{className:"flex items-center gap-2 sm:gap-3 flex-shrink-0",whileHover:{scale:1.05},transition:{type:"spring",stiffness:400,damping:25},children:[e.jsxs("div",{className:"relative",children:[e.jsx("div",{className:"w-8 h-8 sm:w-10 sm:h-10 rounded-full overflow-hidden shadow-lg",children:e.jsx("img",{src:"/assets/logo/logo.jpg",alt:"Miragic Logo",className:"w-full h-full object-cover"})}),e.jsx("div",{className:"absolute inset-0 rounded-full bg-gradient-to-br from-purple-500 to-pink-500 blur-md opacity-30 animate-pulse"})]}),e.jsxs("div",{className:"hidden sm:block",children:[e.jsx("h1",{className:"text-lg sm:text-xl font-bold bg-gradient-to-r from-slate-800 to-slate-600 dark:from-white dark:to-white/80 bg-clip-text text-transparent",children:"Miragic"}),e.jsx("p",{className:"text-xs text-slate-600 dark:text-white/60",children:"AI Image Generator"})]})]}),e.jsxs("div",{className:"flex items-center gap-3 flex-shrink-0",children:[e.jsx(Ut,{onLoginClick:()=>{a(!0),n("login")}}),e.jsx(Lt,{isDarkMode:s,onToggle:r,className:"relative"})]})]})})})},zt=({texts:s,speed:r=150,delay:t=1500})=>{const[a,i]=c.useState(0),[n,o]=c.useState(""),[h,u]=c.useState(!1);return c.useEffect(()=>{const m=s[a],d=setTimeout(()=>{h?(o(m.substring(0,n.length-1)),n===""&&(u(!1),i(g=>(g+1)%s.length))):(o(m.substring(0,n.length+1)),n===m&&setTimeout(()=>u(!0),t))},h?r/2:r);return()=>clearTimeout(d)},[n,h,a,s,r,t]),e.jsxs("span",{className:"font-semibold text-purple-600 dark:text-purple-400",children:[n,e.jsx("span",{className:"animate-pulse",children:"|"})]})};function Ft(...s){return Te(Re(s))}const Ot=()=>{const s={hidden:{opacity:0,y:20},visible:t=>({opacity:1,y:0,transition:{delay:t*.1,duration:.6,ease:"easeOut"}})},r=["Generate","Enhance","Transform","Create","Inspire","Design","Imagine","Visualize","Dream","Craft","Build","Invent","Paint","Sketch","Art","Magic"];return e.jsxs("section",{className:"relative min-h-screen flex items-center justify-center pt-20 overflow-hidden -translate-y-[20vh]",children:[e.jsxs("div",{className:"absolute inset-0 overflow-hidden",children:[e.jsx("div",{className:Ft("absolute inset-0","[background-size:40px_40px]","[background-image:radial-gradient(#d4d4d4_2px,transparent_2px)]","dark:[background-image:radial-gradient(#404040_2px,transparent_2px)]","opacity-80 dark:opacity-60")}),e.jsx("div",{className:"pointer-events-none absolute inset-0 bg-white [mask-image:radial-gradient(ellipse_at_center,transparent_20%,black)] dark:bg-black opacity-40"})]}),e.jsxs("div",{className:"container mx-auto px-6 text-center relative z-10",children:[e.jsxs(f.div,{className:"space-y-6",initial:"hidden",animate:"visible",children:[e.jsx(f.div,{custom:0,variants:s,className:"space-y-4",children:e.jsxs("div",{className:"inline-flex items-center gap-2 px-4 py-2 rounded-full bg-slate-200/50 dark:bg-white/10 border border-slate-300/50 dark:border-white/20 backdrop-blur-md text-sm text-slate-700 dark:text-white/80",children:[e.jsx(J,{className:"w-4 h-4"}),e.jsx("span",{children:"Where imagination meets AI"})]})}),e.jsxs(f.h1,{custom:1,variants:s,className:"text-4xl md:text-6xl lg:text-7xl font-bold",children:[e.jsx("span",{className:"bg-gradient-to-r from-slate-800 via-slate-600 to-slate-700 dark:from-white dark:via-purple-200 dark:to-pink-200 bg-clip-text text-transparent",children:"Create Stunning"}),e.jsx("br",{}),e.jsx("span",{className:"bg-gradient-to-r from-purple-600 via-pink-600 to-cyan-600 dark:from-purple-400 dark:via-pink-400 dark:to-cyan-400 bg-clip-text text-transparent",children:"Images with AI"})]}),e.jsxs(f.p,{custom:2,variants:s,className:"text-lg md:text-xl text-slate-600 dark:text-white/70 max-w-2xl mx-auto leading-relaxed",children:["Built for"," ",e.jsx(zt,{texts:["creators","dreamers","visionaries","you.."],speed:150,delay:1500})]}),e.jsx(f.div,{custom:3,variants:s,className:"flex flex-wrap gap-3 justify-center mt-8",children:[{icon:Ae,text:"AI Generation"},{icon:J,text:"Smart Enhancement"},{icon:Ye,text:"Lightning Fast"}].map(({icon:t,text:a},i)=>e.jsxs("div",{className:"flex items-center gap-2 px-4 py-2 rounded-full bg-slate-200/30 dark:bg-white/5 border border-slate-300/30 dark:border-white/10 backdrop-blur-md text-slate-700 dark:text-white/80 hover:bg-slate-300/40 dark:hover:bg-white/10 transition-all duration-300",children:[e.jsx(t,{className:"w-4 h-4"}),e.jsx("span",{className:"text-sm",children:a})]},a))})]}),e.jsx("div",{className:"fixed inset-0 pointer-events-none z-5 overflow-hidden",children:r.map((t,a)=>{const i=[{left:5+Math.random()*15,top:10+Math.random()*80},{left:80+Math.random()*15,top:10+Math.random()*80},{left:20+Math.random()*60,top:5+Math.random()*15},{left:20+Math.random()*60,top:80+Math.random()*15},{left:30+Math.random()*40,top:30+Math.random()*40}],n=i[a%i.length],o={left:Math.max(2,Math.min(85,n.left+(Math.random()-.5)*10)),top:Math.max(5,Math.min(90,n.top+(Math.random()-.5)*10))};return e.jsx(f.div,{className:"absolute text-slate-300/10 dark:text-white/8 font-bold text-xl md:text-3xl lg:text-5xl select-none will-change-transform",style:{left:`${o.left}%`,top:`${o.top}%`,transform:"translate(-50%, -50%)"},animate:{y:[-10,10,-10],rotate:[-4,4,-4],scale:[.95,1.05,.95],x:[-8,8,-8]},transition:{duration:15+a*1.5,repeat:1/0,ease:"easeInOut",delay:a*.8},children:t},t)})})]})]})},H=({children:s,className:r="",hover:t=!0,blur:a="md",...i})=>{const n={sm:"backdrop-blur-sm",md:"backdrop-blur-md",lg:"backdrop-blur-lg",xl:"backdrop-blur-xl"};return e.jsx(f.div,{className:F("relative overflow-hidden rounded-2xl border border-slate-300/30 dark:border-white/10 bg-slate-100/30 dark:bg-white/5 p-6 shadow-2xl",n[a],"before:absolute before:inset-0 before:rounded-2xl before:border before:border-slate-200/40 dark:before:border-white/20 before:bg-gradient-to-br before:from-slate-200/20 dark:before:from-white/10 before:to-transparent before:opacity-50",t&&"transition-all duration-300 hover:border-slate-400/40 dark:hover:border-white/20 hover:bg-slate-200/40 dark:hover:bg-white/10 hover:shadow-2xl hover:shadow-purple-500/10",r),whileHover:t?{y:-2,scale:1.02}:{},transition:{type:"spring",stiffness:300,damping:30},...i,children:e.jsx("div",{className:"relative z-10",children:s})})},$t=()=>{new Date().getFullYear();const s="Miragic",r=`https://huggingface.co/spaces/${s}-AI/${s}-AI-Image-Generator`;return e.jsx(e.Fragment,{children:e.jsxs("footer",{className:"relative py-10",children:[e.jsx("div",{className:"container mx-auto px-6",children:e.jsx(H,{className:"text-center",children:e.jsxs("div",{className:"space-y-8",children:[e.jsxs("div",{className:"space-y-4",children:[e.jsx("div",{className:"flex items-center justify-center gap-3",children:e.jsx("h3",{className:"text-2xl font-bold text-slate-800 dark:text-white",children:"About US"})}),e.jsx("p",{className:"text-slate-600 dark:text-white/70 leading-relaxed",children:"Miragic is a Generative AI company providing innovative solutions including Virtual Try-On clothes, AI SpeedPainting, Sales Pilot, and Free Background Remover tools."})]}),e.jsx("div",{className:"pt-4 flex justify-center",children:e.jsx("a",{href:`https://visitorbadge.io/status?path=${encodeURIComponent(r)}`,target:"_blank",rel:"noopener noreferrer",className:"inline-block",children:e.jsx("img",{src:`https://api.visitorbadge.io/api/combined?path=${encodeURIComponent(r)}&label=VISITORS&labelColor=%2337d67a&countColor=%23f47373&style=plastic&labelStyle=upper`,alt:"Visitor Badge",className:"h-5 w-auto"})})}),e.jsxs("div",{className:"pt-6",children:[e.jsx("h4",{className:"text-lg font-semibold text-slate-800 dark:text-white mb-4",children:"Follow Us"}),e.jsxs("div",{className:"flex justify-center space-x-4 flex-wrap",children:[e.jsx("a",{href:"https://www.facebook.com/miragic2025/",target:"_blank",rel:"noopener noreferrer",className:"text-slate-600 hover:text-blue-600 dark:text-white/70 dark:hover:text-blue-400 transition-colors p-2","aria-label":"Facebook",children:e.jsx(qe,{className:"w-6 h-6"})}),e.jsx("a",{href:"https://www.instagram.com/miragic.ai",target:"_blank",rel:"noopener noreferrer",className:"text-slate-600 hover:text-pink-600 dark:text-white/70 dark:hover:text-pink-400 transition-colors p-2","aria-label":"Instagram",children:e.jsx(We,{className:"w-6 h-6"})}),e.jsx("a",{href:"https://www.tiktok.com/@miragic.ai",target:"_blank",rel:"noopener noreferrer",className:"text-slate-600 hover:text-black dark:text-white/70 dark:hover:text-cyan-300 transition-colors p-2","aria-label":"TikTok",children:e.jsx(Ke,{className:"w-6 h-6"})}),e.jsx("a",{href:"https://x.com/miragic2025",target:"_blank",rel:"noopener noreferrer",className:"text-slate-600 hover:text-black dark:text-white/70 dark:hover:text-white transition-colors p-2","aria-label":"X (Twitter)",children:e.jsx(Je,{className:"w-6 h-6"})}),e.jsx("a",{href:"https://www.linkedin.com/company/miragic-ai",target:"_blank",rel:"noopener noreferrer",className:"text-slate-600 hover:text-blue-700 dark:text-white/70 dark:hover:text-blue-500 transition-colors p-2","aria-label":"LinkedIn",children:e.jsx(Xe,{className:"w-6 h-6"})}),e.jsx("a",{href:"https://youtube.com/@Miragic-ai",target:"_blank",rel:"noopener noreferrer",className:"text-slate-600 hover:text-red-600 dark:text-white/70 dark:hover:text-red-500 transition-colors p-2","aria-label":"YouTube",children:e.jsx(Ze,{className:"w-6 h-6"})}),e.jsx("a",{href:"https://www.reddit.com/r/TryOutfits/",target:"_blank",rel:"noopener noreferrer",className:"text-slate-600 hover:text-orange-600 dark:text-white/70 dark:hover:text-orange-500 transition-colors p-2","aria-label":"Reddit",children:e.jsx(Qe,{className:"w-6 h-6"})})]})]})]})})}),e.jsx("div",{className:"absolute inset-0 -z-10",children:e.jsx("div",{className:"absolute bottom-0 left-0 right-0 h-px bg-gradient-to-r from-transparent via-white/20 to-transparent"})})]})})},Bt=({activeTab:s,onTabChange:r,historyCount:t=0})=>{let a=[{id:"generate",label:"Generate",icon:Ae,description:"Create new images"},{id:"history",label:"History",icon:he,description:"View past creations",badge:t}];return e.jsx("div",{className:"w-full max-w-sm sm:max-w-md mx-auto mb-8 px-4",children:e.jsxs("div",{className:"relative p-1 rounded-2xl bg-white/0 border border-white/10 backdrop-blur-md w-full",children:[e.jsx(f.div,{className:"absolute top-1 bottom-1 rounded-xl bg-gradient-to-r from-purple-600/80 to-pink-600/80 shadow-lg",layoutId:"activeTab",initial:!1,animate:{left:`${a.findIndex(i=>i.id===s)/a.length*100}%`},style:{width:`${100/a.length}%`},transition:{type:"spring",stiffness:300,damping:30}}),e.jsx("div",{className:F("relative z-10 grid gap-0 w-full","grid-cols-2"),children:a.map(i=>{const n=s===i.id,o=i.icon;return e.jsxs(f.button,{onClick:()=>r(i.id),className:F("relative flex flex-col items-center gap-1 px-2 sm:px-4 py-3 text-xs sm:text-sm font-medium transition-all duration-200 w-full","hover:text-slate-800 dark:hover:text-white focus:outline-none focus:text-slate-800 dark:focus:text-white","touch-manipulation",n?"text-slate-900 dark:text-white":"text-slate-600 dark:text-white/60"),whileHover:{scale:1.02},whileTap:{scale:.98},transition:{duration:.1},children:[e.jsxs("div",{className:"relative",children:[e.jsx(o,{className:"w-5 h-5"}),i.badge!==void 0&&e.jsx(f.div,{className:"absolute -top-2 -right-2 w-5 h-5 bg-red-500 rounded-full flex items-center justify-center text-xs font-bold text-white",initial:{scale:0},animate:{scale:1},transition:{type:"spring",stiffness:500,damping:25},children:i.badge>99?"99+":i.badge})]}),e.jsx("span",{className:"text-xs",children:i.label})]},i.id)})})]})})},M=({children:s,variant:r="primary",size:t="md",disabled:a=!1,loading:i=!1,className:n="",icon:o,...h})=>{const u={primary:"bg-gradient-to-r from-purple-600 to-pink-600 hover:from-purple-700 hover:to-pink-700 text-white shadow-lg hover:shadow-purple-500/25",secondary:"bg-slate-200/50 dark:bg-white/10 hover:bg-slate-200/70 dark:hover:bg-white/20 border border-slate-300/50 dark:border-white/20 hover:border-slate-400/60 dark:hover:border-white/30 text-slate-700 dark:text-white backdrop-blur-md",ghost:"hover:bg-slate-100 dark:hover:bg-white/10 text-slate-600 dark:text-white/80 hover:text-slate-800 dark:hover:text-white",outline:"border-2 border-purple-500/50 hover:border-purple-500 text-purple-600 dark:text-purple-400 hover:text-purple-700 dark:hover:text-purple-300 hover:bg-purple-500/10"},m={sm:"px-3 py-1.5 text-sm",md:"px-6 py-2.5 text-base",lg:"px-8 py-3 text-lg",xl:"px-10 py-4 text-xl"};return e.jsxs(f.button,{className:F("relative inline-flex items-center justify-center gap-2 rounded-xl font-medium transition-all duration-200","focus:outline-none focus:ring-2 focus:ring-purple-500/50 focus:ring-offset-2 focus:ring-offset-transparent","disabled:opacity-50 disabled:cursor-not-allowed disabled:hover:scale-100",u[r],m[t],n),whileHover:{scale:a?1:1.02},whileTap:{scale:a?1:.98},transition:{type:"spring",stiffness:400,damping:25},disabled:a||i,style:{touchAction:"manipulation",WebkitTapHighlightColor:"transparent"},...h,children:[i&&e.jsx("div",{className:"w-4 h-4 border-2 border-current border-t-transparent rounded-full animate-spin"}),o&&!i&&e.jsx(o,{size:18}),s&&e.jsx("span",{children:s}),r==="primary"&&e.jsx("div",{className:"absolute inset-0 rounded-xl bg-gradient-to-r from-transparent via-white/20 to-transparent opacity-0 hover:opacity-100 transition-opacity duration-500 animate-shimmer"})]})},ue=({type:s="text",placeholder:r,value:t,onChange:a,className:i="",icon:n,error:o,label:h,...u})=>e.jsxs("div",{className:"space-y-2",children:[h&&e.jsx("label",{className:"block text-sm font-medium text-slate-700 dark:text-white/90",children:h}),e.jsxs("div",{className:"relative",children:[n&&e.jsx("div",{className:"absolute left-3 top-1/2 -translate-y-1/2 text-slate-500 dark:text-white/50",children:e.jsx(n,{size:18})}),e.jsx(f.input,{type:s,value:t,onChange:a,placeholder:r,className:F("w-full rounded-xl border border-slate-300/50 dark:border-white/10 bg-slate-100/50 dark:bg-white/5 px-4 py-3 text-slate-800 dark:text-white placeholder-slate-500 dark:placeholder-white/50 backdrop-blur-md transition-all duration-200","focus:border-purple-500/50 focus:bg-slate-200/50 dark:focus:bg-white/10 focus:outline-none focus:ring-2 focus:ring-purple-500/20","hover:border-slate-400/60 dark:hover:border-white/20 hover:bg-slate-200/60 dark:hover:bg-white/10",n&&"pl-10",o&&"border-red-500/50 focus:border-red-500/50 focus:ring-red-500/20",i),whileFocus:{scale:1.01},transition:{type:"spring",stiffness:300,damping:25},...u})]}),o&&e.jsx(f.p,{className:"text-sm text-red-400",initial:{opacity:0,y:-10},animate:{opacity:1,y:0},transition:{duration:.2},children:o})]}),Gt=({onPromptSelect:s})=>{const r=[{id:"anime",title:"Anime",emoji:"🎌",gradient:"from-pink-500 to-red-500",examples:[{image:"/assets/example_images/Anime/1.jpg",prompt:"Anime-style pirate girl with wind-swept coat standing on the bow of a ship soaring over giant waves, colorful sky with drifting clouds and soaring seagulls, steampunk-inspired goggles on her head, treasure map in one hand, confident smirk on her face, uniquely designed crew flag fluttering behind, stylized ship with fantastical elements like rotating propellers and wooden dragon carvings, vivid cel-shaded coloring, dynamic angle, 4K anime cinematic quality"},{image:"/assets/example_images/Anime/2.jpg",prompt:"Epic anime-style samurai duel on a misty mountain cliff at sunset, fiery sky in the background, cherry blossom petals flying, both warriors with torn haori and glowing swords, high-speed motion lines, cinematic composition, rich traditional Japanese color palette, 8K stylized anime painting"},{image:"/assets/example_images/Anime/3.jpg",prompt:"Anime-style cozy indoor scene of a girl sitting by the window sipping tea, raindrops on the glass, soft ambient light, bookshelf in the background, cat sleeping nearby, warm color tones, gentle expression, aesthetic Ghibli-style art, ultra-detailed, 4K resolution"},{image:"/assets/example_images/Anime/4.jpg",prompt:"Anime-style magical girl in a ruined city, glowing magical circle beneath her feet, shattered buildings in the background, floating embers, scarred face and broken wand, duality of innocence and power, dark clouds above, cinematic angle, moody lighting, stylized in detailed anime art"}]},{id:"nature",title:"Nature",emoji:"🌲",gradient:"from-green-500 to-emerald-500",examples:[{image:"/assets/example_images/Nature/1.jpg",prompt:"A serene forest with dew-covered grass, golden morning sunlight piercing through tall trees, photorealistic textures, soft mist, birds in flight, 8K natural scenery"},{image:"/assets/example_images/Nature/2.jpg",prompt:"Massive floating islands covered with lush green forests and cascading waterfalls, connected by glowing vines, warm sky tones, fantasy artwork, painterly style, high detail"},{image:"/assets/example_images/Nature/3.jpg",prompt:"A moody cinematic scene of storm clouds rolling over a rugged mountain valley, with lightning strikes and wind-blown trees, epic lighting, dramatic realism, 4K scene composition"},{image:"/assets/example_images/Nature/4.jpg",prompt:"A peaceful Japanese Zen garden with white gravel patterns, bonsai trees, a small wooden bridge over a koi pond, minimalist art style with soft pastel tones and clean aesthetic"}]},{id:"space",title:"Space",emoji:"🌌",gradient:"from-purple-500 to-indigo-500",examples:[{image:"/assets/example_images/Space/1.jpg",prompt:"A lone astronaut standing under a violet sky, strange glowing rocks surrounding them, twin moons in the background, detailed sci-fi concept art, cinematic lighting"},{image:"/assets/example_images/Space/2.jpg",prompt:"Looking out from a futuristic space station window at a massive spiral galaxy, glowing star systems, 3D rendered, high contrast and clarity, sci-fi ambience"},{image:"/assets/example_images/Space/3.jpg",prompt:"A surreal floating garden in space, with plants growing in zero gravity, stars shimmering all around, painterly fantasy style, dreamlike and vibrant, concept design aesthetic"},{image:"/assets/example_images/Space/4.jpg",prompt:"A spacecraft being pulled into a wormhole, intense color distortion, glowing particles, bending light physics, ultra-detailed visualization in science-illustration style"}]},{id:"streets",title:"Streets",emoji:"🏙️",gradient:"from-cyan-500 to-blue-500",examples:[{image:"/assets/example_images/Streets/1.jpg",prompt:"A neon-lit street with holographic ads, flying cars above, people in glowing techwear, reflections on wet asphalt, Blade Runner vibes, ultra-detailed cyberpunk concept art"},{image:"/assets/example_images/Streets/2.jpg",prompt:"Old cobblestone street in Paris during rain, people with umbrellas, warm shop lights reflecting off wet pavement, photorealistic lighting, cozy and cinematic mood"},{image:"/assets/example_images/Streets/3.jpg",prompt:"Busy street in 1980s Manhattan, yellow cabs, neon signs, vintage billboards, grainy photo style, rich in retro detail"},{image:"/assets/example_images/Streets/4.jpg",prompt:"A quiet urban alley lit by a golden sunset, long shadows, dust particles in the air, strong depth and lighting, DSLR photography look, cinematic framing"}]},{id:"ghibli-pixar",title:"Ghibli/Pixar",emoji:"🎥",gradient:"from-orange-500 to-red-500",examples:[{image:"/assets/example_images/Ghibli-Pixar/1.jpg",prompt:"A cozy rural village with windmills, green hills, and warm sunlight, stylized painterly textures, whimsical Ghibli charm, clouds drifting in a blue sky, animated vibe"},{image:"/assets/example_images/Ghibli-Pixar/2.jpg",prompt:"A cute, round robot with expressive digital eyes, rolling through a futuristic lab, 3D Pixar-style rendering, bright color palette, stylized metallic textures"},{image:"/assets/example_images/Ghibli-Pixar/3.jpg",prompt:"A magical bakery floating on a cloud, smoke puffing from its chimney, flying pastries around, pastel color scheme, Ghibli-Pixar fusion, fantasy 3D cartoon look"},{image:"/assets/example_images/Ghibli-Pixar/4.jpg",prompt:"A young explorer sailing a colorful boat across calm cartoon oceans, stylized waves and sky, expressive character design, Pixar short-film quality"}]},{id:"misc",title:"Misc",emoji:"🌀",gradient:"from-yellow-500 to-pink-500",examples:[{image:"/assets/example_images/Misc/1.jpg",prompt:"A human head split open with galaxies and memories spilling out, surreal art style, symbolic, dreamlike elements, soft brushwork and contrast"},{image:"/assets/example_images/Misc/2.jpg",prompt:"A minimalist futuristic living room with smooth white surfaces, floating furniture, ambient lighting, clean design aesthetics, 3D architectural render"},{image:"/assets/example_images/Misc/3.jpg",prompt:"A dark, twisted forest under a blood moon, thick fog covering the ground, shadowy figures in the background, horror aesthetic, cinematic thriller tone"},{image:"/assets/example_images/Misc/4.jpg",prompt:"Floating neon geometric shapes over a dark background, glowing edges, vaporwave-inspired color palette, high-tech abstract art, sharp lighting effects"}]}];return e.jsx(H,{children:e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[e.jsx(J,{className:"w-5 h-5 text-purple-400"}),e.jsx("h3",{className:"text-lg font-semibold text-slate-800 dark:text-white",children:"Example Prompts"})]}),e.jsx("div",{className:"grid grid-cols-1 min-[620px]:grid-cols-3 md:grid-cols-2 gap-3",children:r.map((t,a)=>e.jsx(Ht,{category:t,onPromptSelect:s,delay:a*.1},t.id))})]})})},Ht=({category:s,onPromptSelect:r,delay:t})=>{const[a,i]=c.useState(0),[n,o]=c.useState(!0);c.useEffect(()=>{if(!n)return;const d=setInterval(()=>{i(g=>g===s.examples.length-1?0:g+1)},4e3);return()=>clearInterval(d)},[n,s.examples.length]);const h=d=>{i(d),o(!1),setTimeout(()=>o(!0),1e4)},u=()=>{i(d=>d===s.examples.length-1?0:d+1),o(!1),setTimeout(()=>o(!0),1e4)},m=()=>{i(d=>d===0?s.examples.length-1:d-1),o(!1),setTimeout(()=>o(!0),1e4)};return e.jsxs(f.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.6,delay:t},className:"group relative bg-slate-100/50 dark:bg-white/5 backdrop-blur-md rounded-xl border border-slate-300/50 dark:border-white/10 overflow-hidden hover:border-slate-400/60 dark:hover:border-white/20 transition-all duration-300",children:[e.jsx("div",{className:"p-3 border-b border-slate-300/30 dark:border-white/10",children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("div",{className:`w-6 h-6 rounded-full bg-gradient-to-r ${s.gradient} flex items-center justify-center text-sm`,children:s.emoji}),e.jsx("h4",{className:"font-medium text-sm text-slate-800 dark:text-white",children:s.title})]})}),e.jsxs("div",{className:"relative h-56 overflow-hidden p-2",children:[e.jsx(U,{mode:"popLayout",children:e.jsx(f.div,{initial:{x:"100%"},animate:{x:0},exit:{x:"-100%"},transition:{type:"tween",duration:.5,ease:"easeInOut"},className:"absolute inset-2",children:e.jsx("img",{src:s.examples[a].image,alt:s.title,className:"w-full h-full object-cover rounded-lg",loading:"lazy"})},a)}),e.jsx("button",{onClick:m,className:"absolute left-2 top-1/2 -translate-y-1/2 w-6 h-6 bg-black/50 backdrop-blur-sm rounded-full flex items-center justify-center text-white opacity-0 group-hover:opacity-100 transition-all duration-300 hover:bg-black/70",children:e.jsx(et,{className:"w-3 h-3"})}),e.jsx("button",{onClick:u,className:"absolute right-2 top-1/2 -translate-y-1/2 w-6 h-6 bg-black/50 backdrop-blur-sm rounded-full flex items-center justify-center text-white opacity-0 group-hover:opacity-100 transition-all duration-300 hover:bg-black/70",children:e.jsx(tt,{className:"w-3 h-3"})})]}),e.jsxs("div",{className:"p-3 space-y-2",children:[e.jsxs("p",{className:"text-xs text-slate-600 dark:text-white/70 line-clamp-2 leading-relaxed min-h-[2rem]",children:['"',s.examples[a].prompt.substring(0,80),'..."']}),e.jsx("div",{className:"flex justify-center gap-1 mb-2",children:s.examples.map((d,g)=>e.jsx("button",{onClick:()=>h(g),className:`h-1 rounded-full transition-all duration-300 ${g===a?`bg-gradient-to-r ${s.gradient} w-4`:"bg-slate-300 dark:bg-white/30 hover:bg-slate-400 dark:hover:bg-white/50 w-1"}`},g))}),e.jsxs("button",{onClick:()=>r(s.examples[a].prompt),className:`w-full py-2 px-3 rounded-lg bg-gradient-to-r ${s.gradient} text-white text-xs font-medium hover:opacity-90 transition-opacity duration-200 flex items-center justify-center gap-1`,children:[e.jsx(st,{className:"w-3 h-3"}),"TRY THIS PROMPT"]})]})]})},Le=c.memo(({inputPrompt:s,setInputPrompt:r,imageUrl:t,isLoading:a,imageLoaded:i,error:n,progress:o,selectedModel:h,setSelectedModel:u,selectedShape:m,setSelectedShape:d,seed:g,setSeed:w,width:x,height:p,setWidth:y,setHeight:v,shapes:k,models:N,handleGenerateClick:E,handleImageLoadComplete:Y,handleImageLoadError:O,isGeneratingRandom:ie})=>{const[A,Z]=c.useState(!1),{user:$}=ae(),q=async()=>{if(t)try{const j=await(await fetch(t)).blob(),D=URL.createObjectURL(j),_=document.createElement("a");_.href=D,_.download=`miragic-${Date.now()}.jpg`,_.style.display="none",document.body.appendChild(_),_.click(),setTimeout(()=>{URL.revokeObjectURL(D),document.body.removeChild(_)},100)}catch(l){console.error("Download failed:",l)}};return e.jsxs("div",{className:"space-y-8",children:[e.jsxs("div",{className:"grid lg:grid-cols-2 gap-8",children:[e.jsxs("div",{className:"space-y-6",children:[e.jsx(H,{className:"border-slate-300 dark:border-white/10",children:e.jsxs("div",{className:"space-y-4",children:[e.jsx("div",{className:"flex items-center justify-between",children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(J,{className:"w-5 h-5 text-purple-400"}),e.jsx("h3",{className:"text-lg font-semibold text-slate-800 dark:text-white",children:"Describe Your Vision"})]})}),e.jsx(f.textarea,{value:s,onChange:l=>r(l.target.value),placeholder:"A majestic dragon soaring through storm clouds, lightning illuminating its scales, cinematic lighting, ultra detailed...",className:"w-full h-64 resize-none rounded-xl border border-slate-300/50 dark:border-white/10 bg-slate-100/50 dark:bg-white/5 px-4 py-3 text-slate-800 dark:text-white placeholder-slate-500 dark:placeholder-white/50 backdrop-blur-md transition-all duration-200 focus:border-purple-500/50 focus:bg-slate-200/50 dark:focus:bg-white/10 focus:outline-none focus:ring-2 focus:ring-purple-500/20",whileFocus:{scale:1.01},transition:{type:"spring",stiffness:300,damping:25}})]})}),e.jsx(H,{className:"border-slate-300 dark:border-white/10",children:e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(rt,{className:"w-5 h-5 text-purple-400"}),e.jsx("h3",{className:"text-lg font-semibold text-slate-800 dark:text-white",children:"Generation Settings"})]}),e.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx("label",{className:"block text-sm font-medium text-slate-700 dark:text-white/80",children:"AI Model"}),e.jsx("select",{value:h,onChange:l=>u(l.target.value),className:"w-full rounded-xl border border-slate-300/50 dark:border-white/10 bg-slate-100/50 dark:bg-white/5 px-3 py-2 text-slate-800 dark:text-white backdrop-blur-md transition-all duration-200 focus:border-purple-500/50 focus:bg-slate-200/50 dark:focus:bg-white/10 focus:outline-none focus:ring-2 focus:ring-purple-500/20",children:N.map(l=>e.jsx("option",{value:l.value,className:"bg-slate-200 dark:bg-slate-800 text-slate-800 dark:text-white",children:l.label},l.value))})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("label",{className:"block text-sm font-medium text-slate-700 dark:text-white/80",children:"Dimensions"}),e.jsx("select",{value:m,onChange:l=>d(l.target.value),className:"w-full rounded-xl border border-slate-300/50 dark:border-white/10 bg-slate-100/50 dark:bg-white/5 px-3 py-2 text-slate-800 dark:text-white backdrop-blur-md transition-all duration-200 focus:border-purple-500/50 focus:bg-slate-200/50 dark:focus:bg-white/10 focus:outline-none focus:ring-2 focus:ring-purple-500/20",children:Object.entries(k).map(([l,j])=>e.jsx("option",{value:l,className:"bg-slate-200 dark:bg-slate-800 text-slate-800 dark:text-white",children:j.label},l))})]})]}),e.jsx(U,{children:m==="manual"&&e.jsxs(f.div,{initial:{opacity:0,height:0},animate:{opacity:1,height:"auto"},exit:{opacity:0,height:0},transition:{duration:.3},className:"grid grid-cols-2 gap-4",children:[e.jsx(ue,{type:"number",label:"Width",value:x,onChange:l=>y(Number(l.target.value)),min:"256",max:"2048",step:"64"}),e.jsx(ue,{type:"number",label:"Height",value:p,onChange:l=>v(Number(l.target.value)),min:"256",max:"2048",step:"64"})]})}),e.jsx("div",{className:"space-y-4",children:e.jsx(ue,{label:"Seed (Optional)",value:g,onChange:l=>w(l.target.value),placeholder:"Random seed for reproducible results"})})]})}),e.jsx(M,{onClick:E,disabled:a||!s.trim(),loading:a,size:"lg",className:"w-full",icon:a?null:J,children:a?`Generating... ${Math.round(o)}%`:"Generate Image"})]}),e.jsxs("div",{className:"flex flex-col justify-center",children:[e.jsx(H,{className:"flex-1 border-slate-300 dark:border-white/10",children:e.jsxs("div",{className:"h-full flex flex-col",children:[e.jsxs("div",{className:"flex items-center justify-between mb-3",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(at,{className:"w-5 h-5 text-purple-400"}),e.jsx("h3",{className:"text-lg font-semibold text-slate-800 dark:text-white",children:"Generated Image"})]}),t&&i&&e.jsx("div",{className:"flex space-x-1",children:e.jsx(M,{variant:"ghost",size:"sm",onClick:q,icon:_e,children:"Download"})})]}),e.jsxs("div",{className:"relative flex-1 w-full rounded-xl overflow-hidden bg-white/5 border border-white/10 min-h-[400px] flex items-center justify-center",children:[e.jsx(U,{mode:"wait",children:t?e.jsxs(f.div,{initial:{opacity:0,scale:.8},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.8},transition:{duration:.5},className:"relative w-full h-full flex items-center justify-center",children:[e.jsx("img",{src:t,alt:"Generated",className:"max-w-full max-h-full object-contain",onLoad:Y,onError:O,loading:"lazy",decoding:"async",style:{maxWidth:"100%",height:"auto",imageRendering:"crisp-edges"}}),e.jsx(U,{children:a&&e.jsx(f.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},className:"absolute inset-0 bg-black/50 backdrop-blur-sm flex items-center justify-center",children:e.jsxs("div",{className:"text-center space-y-4",children:[e.jsx("div",{className:"w-12 h-12 border-4 border-purple-500/30 border-t-purple-500 rounded-full animate-spin mx-auto"}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("p",{className:"text-slate-800 dark:text-white text-sm",children:"Generating your image..."}),e.jsx("div",{className:"w-48 h-2 bg-slate-300/50 dark:bg-white/10 rounded-full overflow-hidden",children:e.jsx(f.div,{className:"h-full bg-gradient-to-r from-purple-500 to-pink-500",initial:{width:0},animate:{width:`${o}%`},transition:{duration:.3}})}),e.jsxs("p",{className:"text-slate-600 dark:text-white/60 text-xs",children:[Math.round(o),"% complete"]})]})]})})})]},t):e.jsx(f.div,{initial:{opacity:0},animate:{opacity:1},className:"flex items-center justify-center h-full text-center",children:e.jsxs("div",{className:"space-y-4",children:[e.jsx("div",{className:"w-16 h-16 rounded-full bg-gradient-to-br from-purple-500/20 to-pink-500/20 flex items-center justify-center mx-auto",children:e.jsx(J,{className:"w-8 h-8 text-purple-400"})}),e.jsxs("div",{children:[e.jsx("h4",{className:"text-lg font-medium text-slate-800 dark:text-white/90 mb-2",children:"Ready to Create"}),e.jsx("p",{className:"text-sm text-slate-600 dark:text-white/60 max-w-xs",children:"Enter a prompt and click generate to create your first AI image"})]})]})},"empty")}),e.jsx(U,{children:n&&e.jsx(f.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},exit:{opacity:0,y:-20},className:"absolute inset-0 bg-red-500/10 border border-red-500/20 rounded-xl flex items-center justify-center",children:e.jsxs("div",{className:"text-center p-6",children:[e.jsx("div",{className:"w-12 h-12 rounded-full bg-red-500/20 flex items-center justify-center mx-auto mb-3",children:e.jsx("span",{className:"text-red-400 text-xl",children:"⚠️"})}),e.jsx("p",{className:"text-red-400 text-sm",children:n})]})})})]})]})}),e.jsx("div",{className:"mt-6 text-center",children:e.jsxs("div",{className:"bg-gradient-to-r from-purple-500/10 to-pink-500/10 p-4 rounded-xl border border-purple-500/20",children:[e.jsx("h3",{className:"text-lg font-semibold text-slate-800 dark:text-white mb-2",children:"🚀 Want more AI tools?"}),e.jsx("p",{className:"text-sm text-slate-600 dark:text-white/70 mb-4",children:"Visit Miragic.ai for unlimited access to all our AI tools!"}),e.jsx("a",{href:"https://miragic.ai/products/image-generator",target:"_blank",rel:"noopener noreferrer",style:{background:"linear-gradient(45deg, #ff416c, #ff4b2b, #ff9b00, #ff416c)",backgroundSize:"400% 400%",border:"none",padding:"14px 28px",fontSize:"16px",fontWeight:"bold",color:"white",borderRadius:"10px",cursor:"pointer",transition:"0.3s ease-in-out",animation:"gradientAnimation 2s infinite linear",boxShadow:"0 4px 10px rgba(255, 65, 108, 0.6)",textDecoration:"none",display:"inline-block"},onMouseOver:l=>{l.target.style.transform="scale(1.05)",l.target.style.boxShadow="0 6px 15px rgba(255, 75, 43, 0.8)"},onMouseOut:l=>{l.target.style.transform="scale(1)",l.target.style.boxShadow="0 4px 10px rgba(255, 65, 108, 0.6)"},children:"Explore More Tools 🚀"})]})})]})]}),e.jsx(Gt,{onPromptSelect:r})]})});Le.displayName="ModernGenerateTab";const Vt=async(s,r=50)=>{if(!s)return[];try{const t=xt(I,"users",s,"generatedImages"),a=bt(t,wt("createdAt","desc"),yt(r)),i=await vt(a),n=[];for(const o of i.docs){const h=o.id,u=o.data();n.push({imageId:h,path:`users/${s}/generatedImages/${h}`,...u,createdAt:u.createdAt?.toDate()})}return n}catch(t){return console.error("Error fetching user generated images:",t),[]}},Yt=async(s,r)=>{if(!s||!r)return!1;try{const t=T(I,"users",s,"generatedImages",r);return await jt(t),!0}catch(t){return console.error("Error deleting generated image:",t),!1}},Ue=c.memo(({history:s,setInputPrompt:r,setActiveTab:t,handleDeleteHistoryItem:a,handleClearAllHistory:i})=>{const{user:n}=ae(),[o,h]=c.useState(null),[u,m]=c.useState(null),[d,g]=c.useState([]),[w,x]=c.useState(!1),[p,y]=c.useState("local");c.useEffect(()=>{n&&p==="cloud"&&v()},[n,p]);const v=async()=>{if(n){x(!0);try{const l=await Vt(n.uid);g(l)}catch(l){console.error("Error fetching cloud images:",l)}finally{x(!1)}}},k=l=>{h(l)},N=()=>{h(null)},E=l=>{r(l),t("generate")},Y=async(l,j)=>{if(l)try{const _=await(await fetch(l)).blob(),W=URL.createObjectURL(_),C=document.createElement("a");C.href=W,C.download=`miragic-${Date.now()}.jpg`,C.style.display="none",document.body.appendChild(C),C.click(),setTimeout(()=>{URL.revokeObjectURL(W),document.body.removeChild(C)},100)}catch(D){console.error("Download failed:",D)}},O=l=>{if(!l)return"";if(typeof l=="string")try{return l}catch{return l}try{return l instanceof Date?l.toLocaleDateString("en-US",{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"}):new Date(l).toLocaleDateString("en-US",{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}catch{return"Unknown date"}},ie=async l=>{if(n)try{await Yt(n.uid,l.imageId),g(j=>j.filter(D=>D.imageId!==l.imageId)),m(null)}catch(j){console.error("Error deleting cloud image:",j)}},A=p==="cloud"?d.map(l=>({id:l.imageId||l.id,imageId:l.imageId,prompt:l.prompt,imageUrl:l.imageURL,timestamp:O(l.createdAt),model:l.modelUsed,dimensions:`${l.width||0}x${l.height||0}`,path:l.path,isCloud:!0})):s,Z={default:3,1280:3,1024:2,768:2,640:1},$={hidden:{opacity:0},show:{opacity:1,transition:{staggerChildren:.05}}},q={hidden:{y:20,opacity:0},show:{y:0,opacity:1}};return e.jsxs("div",{className:"space-y-8",children:[e.jsx(H,{className:"border-slate-300 dark:border-white/10 p-5",children:e.jsxs("div",{className:"flex flex-col md:flex-row items-center justify-between gap-4",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(he,{className:"w-5 h-5 text-purple-500"}),e.jsx("h2",{className:"text-xl font-semibold text-slate-800 dark:text-white",children:"Image History"})]}),e.jsxs("div",{className:"flex items-center gap-4",children:[n&&e.jsxs("div",{className:"bg-slate-100 dark:bg-slate-800 rounded-full p-1 flex",children:[e.jsx("button",{className:F("px-4 py-1 rounded-full text-sm font-medium transition-all",p==="local"?"bg-white dark:bg-slate-700 text-slate-800 dark:text-white shadow-sm":"text-slate-600 dark:text-slate-300 hover:text-slate-800 dark:hover:text-white"),onClick:()=>y("local"),children:"Local"}),e.jsxs("button",{className:F("px-4 py-1 rounded-full text-sm font-medium transition-all flex items-center gap-1",p==="cloud"?"bg-white dark:bg-slate-700 text-slate-800 dark:text-white shadow-sm":"text-slate-600 dark:text-slate-300 hover:text-slate-800 dark:hover:text-white"),onClick:()=>y("cloud"),children:[e.jsx(Ne,{size:14}),"Cloud"]})]}),p==="local"&&s.length>0&&e.jsx(M,{variant:"destructive",size:"sm",onClick:()=>m("all"),icon:Ce,children:"Clear All"})]})]})}),w&&e.jsx("div",{className:"flex justify-center my-12",children:e.jsxs("div",{className:"space-y-4 text-center",children:[e.jsx("div",{className:"w-10 h-10 border-4 border-purple-500/30 border-t-purple-500 rounded-full animate-spin mx-auto"}),e.jsx("p",{className:"text-slate-600 dark:text-slate-300",children:"Loading your images..."})]})}),!w&&A.length===0&&e.jsx("div",{className:"flex items-center justify-center min-h-[400px]",children:e.jsx(H,{className:"text-center max-w-md mx-auto",children:e.jsxs("div",{className:"space-y-4",children:[e.jsx("div",{className:"w-16 h-16 rounded-full bg-gradient-to-br from-purple-500/20 to-pink-500/20 flex items-center justify-center mx-auto",children:p==="cloud"?e.jsx(Ne,{className:"w-8 h-8 text-purple-400"}):e.jsx(he,{className:"w-8 h-8 text-purple-400"})}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-xl font-semibold text-slate-800 dark:text-white mb-2",children:p==="cloud"?"No Cloud Images":"No History Yet"}),e.jsx("p",{className:"text-slate-600 dark:text-white/60 leading-relaxed",children:p==="cloud"?"Images you generate while logged in will be saved to your cloud history.":"Your generated images will appear here. Start creating to build your collection!"})]}),e.jsx(M,{onClick:()=>t("generate"),variant:"primary",children:"Generate an Image"})]})})}),!w&&A.length>0&&e.jsx(f.div,{variants:$,initial:"hidden",animate:"show",className:"overflow-hidden",children:e.jsx(it,{breakpointCols:Z,className:"masonry-grid",columnClassName:"masonry-grid-column",children:A.map(l=>e.jsx(f.div,{variants:q,className:"masonry-item",children:e.jsx("div",{className:"break-inside-avoid rounded-xl overflow-hidden relative group",children:e.jsxs("div",{className:"relative",children:[e.jsx("img",{src:l.imageUrl,alt:l.prompt,className:"w-full h-auto object-contain transition-transform duration-300 ease-in-out group-hover:scale-105",onClick:()=>k(l),onError:j=>{j.target.onerror=null,j.target.src="https://via.placeholder.com/400x225?text=Image+Unavailable"}}),e.jsx("div",{className:"absolute inset-0 bg-gradient-to-t from-black/60 to-transparent opacity-0 group-hover:opacity-100 transition-opacity flex items-end justify-end p-3",children:e.jsx("div",{className:"flex items-center gap-1",children:e.jsx("button",{className:"bg-white/20 hover:bg-white/30 text-white p-2 rounded-full flex items-center justify-center transition-all",onClick:j=>{j.stopPropagation(),k(l)},children:e.jsx(nt,{size:14})})})})]})})},l.id))})}),e.jsx(U,{children:o&&e.jsx(f.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},className:"fixed inset-0 z-50 flex items-center justify-center p-4 md:p-6 bg-black/80 backdrop-blur",onClick:N,children:e.jsxs(f.div,{initial:{scale:.9,opacity:0,y:10},animate:{scale:1,opacity:1,y:0},exit:{scale:.9,opacity:0,y:10},className:"relative max-w-4xl w-full bg-white dark:bg-slate-900 rounded-xl overflow-hidden shadow-2xl mx-auto border border-white/10",onClick:l=>l.stopPropagation(),children:[e.jsxs("div",{className:"flex justify-between items-center p-4 border-b border-slate-200 dark:border-slate-700",children:[e.jsx("h3",{className:"text-lg font-semibold text-slate-900 dark:text-white line-clamp-1",children:o.prompt}),e.jsx("button",{onClick:N,className:"p-1 rounded-full hover:bg-slate-100 dark:hover:bg-slate-800 text-slate-500",children:e.jsx(ot,{size:20})})]}),e.jsxs("div",{className:"p-2 md:p-6 flex flex-col md:flex-row gap-6",children:[e.jsx("div",{className:"flex-1",children:e.jsx("div",{className:"rounded-lg overflow-hidden bg-slate-200 dark:bg-slate-800/50 flex items-center justify-center",children:e.jsx("img",{src:o.imageUrl,alt:o.prompt,className:"w-full h-auto object-contain max-h-[70vh]",onError:l=>{l.target.onerror=null,l.target.src="https://via.placeholder.com/800x450?text=Image+Unavailable"}})})}),e.jsxs("div",{className:"w-full md:w-72 space-y-4",children:[e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{children:[e.jsx("h4",{className:"text-xs font-semibold uppercase tracking-wider text-slate-500 dark:text-slate-400",children:"Prompt"}),e.jsx("p",{className:"text-sm text-slate-900 dark:text-white",children:o.prompt||"No prompt available"})]}),e.jsxs("div",{children:[e.jsx("h4",{className:"text-xs font-semibold uppercase tracking-wider text-slate-500 dark:text-slate-400",children:"Model"}),e.jsx("p",{className:"text-sm text-slate-900 dark:text-white",children:o.model||"Flux"})]}),e.jsxs("div",{children:[e.jsx("h4",{className:"text-xs font-semibold uppercase tracking-wider text-slate-500 dark:text-slate-400",children:"Dimensions"}),e.jsx("p",{className:"text-sm text-slate-900 dark:text-white",children:o.dimensions||"1024x1024"})]}),e.jsxs("div",{children:[e.jsx("h4",{className:"text-xs font-semibold uppercase tracking-wider text-slate-500 dark:text-slate-400",children:"Generated on"}),e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx(lt,{size:14,className:"text-slate-500 dark:text-slate-400"}),e.jsx("p",{className:"text-sm text-slate-900 dark:text-white",children:o.timestamp})]})]})]}),e.jsxs("div",{className:"flex flex-col gap-2 pt-2",children:[e.jsx(M,{variant:"primary",size:"sm",onClick:()=>E(o.prompt),icon:dt,children:"Use This Prompt"}),e.jsx(M,{variant:"secondary",size:"sm",onClick:()=>Y(o.imageUrl,o.prompt),icon:_e,children:"Download Image"}),e.jsx(M,{variant:"destructive",size:"sm",onClick:l=>{l.stopPropagation(),N(),m(o.id)},icon:Ce,children:"Delete Image"})]})]})]})]})})}),e.jsx(U,{children:u&&e.jsx(f.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},className:"fixed inset-0 z-50 flex items-center justify-center p-4 bg-black/70 backdrop-blur",onClick:()=>m(null),children:e.jsx(f.div,{initial:{scale:.95,opacity:0},animate:{scale:1,opacity:1},exit:{scale:.95,opacity:0},className:"relative max-w-md w-full bg-white dark:bg-slate-900 rounded-xl overflow-hidden shadow-2xl",onClick:l=>l.stopPropagation(),children:e.jsxs("div",{className:"p-6 text-center",children:[e.jsx("div",{className:"w-12 h-12 rounded-full bg-red-100 dark:bg-red-900/20 flex items-center justify-center mx-auto mb-4",children:e.jsx(ct,{className:"h-6 w-6 text-red-500"})}),e.jsx("h3",{className:"text-lg font-medium text-slate-900 dark:text-white mb-2",children:u==="all"?"Clear All History":"Delete This Image"}),e.jsx("p",{className:"text-slate-500 dark:text-slate-300 mb-6",children:u==="all"?"Are you sure you want to clear your entire generation history? This action cannot be undone.":"Are you sure you want to delete this image from your history? This action cannot be undone."}),e.jsxs("div",{className:"flex justify-center gap-3",children:[e.jsx(M,{variant:"outline",onClick:()=>m(null),children:"Cancel"}),e.jsx(M,{variant:"destructive",onClick:()=>{if(u==="all")p==="local"?i():p==="cloud"&&n&&console.log("Bulk cloud deletion not supported");else{const l=A.find(j=>j.id===u);l&&(p==="local"||!l.isCloud?a(u):p==="cloud"&&l.isCloud&&ie(l))}m(null)},children:"Delete"})]})]})})})})]})});Ue.displayName="ModernMasonryHistoryTab";const qt=L.memo(()=>e.jsx("div",{className:"flex items-center justify-center h-64",children:e.jsxs("div",{className:"space-y-4 text-center",children:[e.jsx("div",{className:"w-8 h-8 border-4 border-purple-500/30 border-t-purple-500 rounded-full animate-spin mx-auto"}),e.jsx("p",{className:"text-slate-600 dark:text-white/60 text-sm",children:"Loading..."})]})}));qt.displayName="TabLoader";function Wt({authContext:s}){const[r,t]=c.useState(""),[a,i]=c.useState(null),[n,o]=c.useState(!1),[h,u]=c.useState(!1),[m,d]=c.useState(null),[g,w]=c.useState(0),[x,p]=c.useState("generate"),[y,v]=c.useState("flux"),[k,N]=c.useState("landscape"),[E,Y]=c.useState(""),[O,ie]=c.useState(!0),[A,Z]=c.useState(1024),[$,q]=c.useState(1024),[l,j]=c.useState(!1),{isDarkMode:D,toggleTheme:_}=kt(),[W,C,ge]=Nt("miragic-history",[]),ne=c.useMemo(()=>({landscape:{width:1344,height:768,label:"Landscape (16:9)"},portrait:{width:768,height:1344,label:"Portrait (9:16)"},square:{width:1024,height:1024,label:"Square (1:1)"},wide:{width:1536,height:640,label:"Wide (21:9)"},story:{width:576,height:1024,label:"Story (9:16)"},manual:{width:1024,height:1024,label:"Manual"}}),[]),xe=c.useMemo(()=>[{value:"flux",label:"Flux (Best Quality)"},{value:"turbo",label:"Turbo (Fastest)"},{value:"kontext",label:"Kontext (Artistic)"}],[]),be=c.useCallback(()=>{w(0);const P=setInterval(()=>{w(B=>B>=95?(clearInterval(P),95):B+Math.random()*15)},300);return P},[]),we=c.useCallback(async()=>{if(!r.trim()){alert("Please enter a prompt!");return}if(!await s.spendCredit()){s.user,d("You don't have enough credits. Please sign up at Miragic.ai for unlimited access to all our AI tools!");return}o(!0),d(null),u(!1);const B=be();try{const Q=encodeURIComponent(r.trim());let K,oe;if(k==="manual")K=A,oe=$;else{const le=ne[k];K=le.width,oe=le.height}const $e=E||Math.floor(Math.random()*1e3);let de=`https://image.pollinations.ai/prompt/${Q}?width=${K}&height=${oe}&model=${y}&enhance=true&seed=${$e}`;O&&(de+="&nologo=true"),i(de),w(100);const Be={id:Date.now(),prompt:r.trim(),imageUrl:de,timestamp:new Date().toLocaleString(),model:y,shape:k,dimensions:`${K}x${oe}`};C(le=>[Be,...le.slice(0,100)]),clearInterval(B);const Ge=setTimeout(()=>{o(!1),w(0)},8e3);window.imageLoadTimeout=Ge}catch(Q){d(Q.message),o(!1),u(!1),w(0),clearInterval(B)}},[r,y,k,E,O,A,$,ne,be,C]),ye=c.useCallback(()=>{u(!0),o(!1),w(0),window.imageLoadTimeout&&(clearTimeout(window.imageLoadTimeout),window.imageLoadTimeout=null)},[]),ve=c.useCallback(()=>{d("Failed to load the generated image"),o(!1),u(!1),w(0),window.imageLoadTimeout&&(clearTimeout(window.imageLoadTimeout),window.imageLoadTimeout=null)},[]);c.useCallback(P=>{t(P.prompt),i(P.imageUrl),p("generate")},[]);const je=c.useCallback((P,B)=>{B?.stopPropagation(),C(Q=>Q.filter(K=>K.id!==P))},[C]),ke=c.useCallback(()=>{ge()},[ge]),Oe=c.useMemo(()=>{switch(x){case"generate":return e.jsx("div",{children:e.jsx(Le,{inputPrompt:r,setInputPrompt:t,imageUrl:a,isLoading:n,imageLoaded:h,error:m,progress:g,selectedModel:y,setSelectedModel:v,selectedShape:k,setSelectedShape:N,seed:E,setSeed:Y,width:A,height:$,setWidth:Z,setHeight:q,shapes:ne,models:xe,handleGenerateClick:we,handleImageLoadComplete:ye,handleImageLoadError:ve,isGeneratingRandom:l})});case"history":return e.jsx(Ue,{history:W,setInputPrompt:t,setActiveTab:p,handleDeleteHistoryItem:je,handleClearAllHistory:ke});default:return null}},[x,r,a,n,h,m,g,y,k,E,O,A,$,ne,xe,W,l,we,ye,ve,je,ke,v,N,Y,ie,Z,q]);return e.jsxs("div",{className:"min-h-screen w-full overflow-x-hidden bg-white dark:bg-slate-950 text-slate-900 dark:text-white font-sans transition-colors duration-300",children:[e.jsx(Pt,{isDarkMode:D,onThemeChange:_}),e.jsx(Ot,{}),e.jsx("main",{className:"relative -translate-y-[30vh] w-full",children:e.jsxs("div",{className:"container mx-auto px-6 w-full",children:[e.jsx("div",{className:"flex justify-center mb-12",children:e.jsx(Bt,{activeTab:x,onTabChange:p,historyCount:W.length})}),e.jsx(U,{mode:"wait",children:e.jsx(f.div,{className:"w-full",initial:{opacity:0,y:20},animate:{opacity:1,y:0},exit:{opacity:0,y:-20},transition:{duration:.3},children:Oe},x)})]})}),e.jsx($t,{})]})}function Kt(){const s=ae();return c.useEffect(()=>{s.user&&s.loading},[s.user,s.loading]),e.jsx(e.Fragment,{children:e.jsx(Wt,{authContext:s})})}function Jt(){return e.jsx(Mt,{children:e.jsx(Kt,{})})}let pe=null,Ee=!1;const Xt=()=>{if(pe)return pe;const s=document.createElement("div");s.id="miragic-background",s.style.cssText=`
|
| 2 |
+
position: fixed;
|
| 3 |
+
top: 0;
|
| 4 |
+
left: 0;
|
| 5 |
+
width: 100%;
|
| 6 |
+
height: 100%;
|
| 7 |
+
z-index: -10;
|
| 8 |
+
overflow: hidden;
|
| 9 |
+
pointer-events: none;
|
| 10 |
+
`;const r=document.createElement("div");r.style.cssText=`
|
| 11 |
+
position: absolute;
|
| 12 |
+
top: 0;
|
| 13 |
+
left: 0;
|
| 14 |
+
width: 100%;
|
| 15 |
+
height: 100%;
|
| 16 |
+
background: linear-gradient(135deg, #0f172a 0%, rgba(88, 28, 135, 0.2) 50%, #0f172a 100%);
|
| 17 |
+
`,s.appendChild(r);const t=document.createElement("div");t.style.cssText=`
|
| 18 |
+
position: absolute;
|
| 19 |
+
top: 0;
|
| 20 |
+
left: 0;
|
| 21 |
+
width: 18rem;
|
| 22 |
+
height: 18rem;
|
| 23 |
+
background: rgba(168, 85, 247, 0.3);
|
| 24 |
+
border-radius: 50%;
|
| 25 |
+
mix-blend-mode: multiply;
|
| 26 |
+
filter: blur(40px);
|
| 27 |
+
transform: translate(-25%, -25%);
|
| 28 |
+
animation: float1 20s ease-in-out infinite;
|
| 29 |
+
`;const a=document.createElement("div");a.style.cssText=`
|
| 30 |
+
position: absolute;
|
| 31 |
+
top: 0;
|
| 32 |
+
right: 0;
|
| 33 |
+
width: 18rem;
|
| 34 |
+
height: 18rem;
|
| 35 |
+
background: rgba(34, 197, 94, 0.3);
|
| 36 |
+
border-radius: 50%;
|
| 37 |
+
mix-blend-mode: multiply;
|
| 38 |
+
filter: blur(40px);
|
| 39 |
+
transform: translate(25%, -25%);
|
| 40 |
+
animation: float2 25s ease-in-out infinite;
|
| 41 |
+
`;const i=document.createElement("div");i.style.cssText=`
|
| 42 |
+
position: absolute;
|
| 43 |
+
bottom: -2rem;
|
| 44 |
+
left: 5rem;
|
| 45 |
+
width: 18rem;
|
| 46 |
+
height: 18rem;
|
| 47 |
+
background: rgba(236, 72, 153, 0.3);
|
| 48 |
+
border-radius: 50%;
|
| 49 |
+
mix-blend-mode: multiply;
|
| 50 |
+
filter: blur(40px);
|
| 51 |
+
animation: float3 30s ease-in-out infinite;
|
| 52 |
+
`,s.appendChild(t),s.appendChild(a),s.appendChild(i);for(let n=0;n<20;n++){const o=document.createElement("div"),h=Math.random()*100,u=Math.random()*100,m=10+Math.random()*10,d=Math.random()*10;o.style.cssText=`
|
| 53 |
+
position: absolute;
|
| 54 |
+
left: ${h}%;
|
| 55 |
+
top: ${u}%;
|
| 56 |
+
width: 0.5rem;
|
| 57 |
+
height: 0.5rem;
|
| 58 |
+
background: rgba(255, 255, 255, 0.1);
|
| 59 |
+
border-radius: 50%;
|
| 60 |
+
animation: particle${n} ${m}s ease-in-out infinite;
|
| 61 |
+
animation-delay: ${d}s;
|
| 62 |
+
`,s.appendChild(o)}return pe=s,s},Zt=()=>{if(document.getElementById("miragic-bg-styles"))return;const s=document.createElement("style");s.id="miragic-bg-styles",s.textContent=`
|
| 63 |
+
@keyframes float1 {
|
| 64 |
+
0%, 100% { transform: translate(-25%, -25%) translate(0, 0); }
|
| 65 |
+
50% { transform: translate(-25%, -25%) translate(50px, -25px); }
|
| 66 |
+
}
|
| 67 |
+
@keyframes float2 {
|
| 68 |
+
0%, 100% { transform: translate(25%, -25%) translate(0, 0); }
|
| 69 |
+
50% { transform: translate(25%, -25%) translate(-50px, 25px); }
|
| 70 |
+
}
|
| 71 |
+
@keyframes float3 {
|
| 72 |
+
0%, 100% { transform: translate(0, 0); }
|
| 73 |
+
50% { transform: translate(-50px, -100px); }
|
| 74 |
+
}
|
| 75 |
+
${Array.from({length:20},(r,t)=>`
|
| 76 |
+
@keyframes particle${t} {
|
| 77 |
+
0%, 100% { transform: translateY(0); opacity: 0; }
|
| 78 |
+
50% { transform: translateY(-100px); opacity: 1; }
|
| 79 |
+
}
|
| 80 |
+
`).join("")}
|
| 81 |
+
`,document.head.appendChild(s)},Pe=c.memo(()=>{const s=c.useRef(null);return c.useEffect(()=>{if(Ee)return;Ee=!0,Zt();const r=Xt();return document.body.firstChild?document.body.insertBefore(r,document.body.firstChild):document.body.appendChild(r),()=>{}},[]),e.jsx("div",{ref:s,style:{display:"none"}})});Pe.displayName="AnimatedBackground";const Qt=L.memo(Pe,()=>!0),ze=L.memo(()=>e.jsx(Qt,{}),()=>!0);ze.displayName="MemoizedBackground";const Fe=window.fetch,es=window.XMLHttpRequest,ts=console.log,ss=console.error,rs=console.debug;async function as(s,r={}){try{let t,a=!1;if(typeof s=="string")a=/api|key|token|secret|auth|password|credential|firebase|firestore|pollinations/i.test(s),t=s.replace(/https?:\/\/([^\/]+)\/.*/,"https://$1/****");else if(s instanceof Request)try{s.url?(a=/api|key|token|secret|auth|password|credential|firebase|firestore|pollinations/i.test(s.url),t=s.url.replace(/https?:\/\/([^\/]+)\/.*/,"https://$1/****")):t="Firebase request"}catch{t="Firebase request"}else t="Internal request";return await Fe(s,r)}catch(t){throw t}}function is(){window._secureConsoleSetup||(window._secureConsoleSetup=!0,console.log=function(...s){if(s.some(t=>typeof t=="string"&&(t.includes("firebase")||t.includes("firestore")||t.includes("User document")||t.includes("credits")||t.includes("Fetching credits")||t.includes("User logged in")||t.includes("User ID")||t.includes("pollinations.ai")||t.includes("API_URL")||t.includes("api.")||t.includes("API URL"))))return;const r=s.map(t=>typeof t=="string"?t.includes("pollinations.ai")||t.includes("image.pollinations.ai")?t.replace(/https?:\/\/[^\s"']*pollinations\.ai[^\s"']*/gi,"[IMAGE API URL HIDDEN]"):t.replace(/(https?:\/\/[^\s"']*)(api|key|token|secret|auth|password|credential|firebase|firestore)/gi,"$1****"):t);ts.apply(console,r)},console.error=function(...s){if(s.some(t=>typeof t=="string"&&(t.includes("firebase")||t.includes("firestore")||t.includes("WebChannelConnection")||t.includes("url.replace")||t.includes("Error making request")||t.includes("pollinations.ai")||t.includes("API_URL")||t.includes("api.")||t.includes("API URL"))))return;const r=s.map(t=>typeof t=="string"?t.includes("pollinations.ai")||t.includes("image.pollinations.ai")?t.replace(/https?:\/\/[^\s"']*pollinations\.ai[^\s"']*/gi,"[IMAGE API URL HIDDEN]"):t.replace(/(https?:\/\/[^\s"']*)(api|key|token|secret|auth|password|credential|firebase|firestore)/gi,"$1****"):t);ss.apply(console,r)},console.debug=function(...s){if(s.some(t=>typeof t=="string"&&(t.includes("pollinations.ai")||t.includes("API_URL")||t.includes("api.")||t.includes("API URL"))))return;const r=s.map(t=>typeof t=="string"?t.includes("pollinations.ai")||t.includes("image.pollinations.ai")?t.replace(/https?:\/\/[^\s"']*pollinations\.ai[^\s"']*/gi,"[IMAGE API URL HIDDEN]"):t.replace(/(https?:\/\/[^\s"']*)(api|key|token|secret|auth|password|credential|firebase|firestore)/gi,"$1****"):t);rs.apply(console,r)},window.fetch=function(s,r){return typeof s=="object"&&s instanceof Request||typeof s=="string"&&s.includes("firestore")?Fe(s,r):as(s,r)},window.XMLHttpRequest=class extends es{open(s,r,...t){this._secureUrl=r;try{if(typeof r=="string"&&!(r.includes("firestore")||r.includes("firebase"))){const a=r.replace(/https?:\/\/([^\/]+)\/.*/,"https://$1/****")}}catch{}super.open(s,r,...t)}})}console.log=()=>{},console.debug=()=>{},console.info=()=>{};is();mt.createRoot(document.getElementById("root")).render(e.jsxs(e.Fragment,{children:[e.jsx(ze,{},"persistent-background"),e.jsx(c.StrictMode,{children:e.jsx(Jt,{})})]}));
|
assets/index-DfLbT_5b.css
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Montserrat,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:Roboto Mono,ui-monospace,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--background: 0 0% 100%;--foreground: 240 10% 3.9%;--card: 0 0% 100%;--card-foreground: 240 10% 3.9%;--popover: 0 0% 100%;--popover-foreground: 240 10% 3.9%;--primary: 240 5.9% 10%;--primary-foreground: 0 0% 98%;--secondary: 240 4.8% 95.9%;--secondary-foreground: 240 5.9% 10%;--muted: 240 4.8% 95.9%;--muted-foreground: 240 3.8% 46.1%;--accent: 240 4.8% 95.9%;--accent-foreground: 240 5.9% 10%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 0 0% 98%;--border: 240 5.9% 90%;--input: 240 5.9% 90%;--ring: 240 10% 3.9%;--chart-1: 12 76% 61%;--chart-2: 173 58% 39%;--chart-3: 197 37% 24%;--chart-4: 43 74% 66%;--chart-5: 27 87% 67%;--radius: .5rem}.dark{--background: 240 10% 3.9%;--foreground: 0 0% 98%;--card: 240 10% 3.9%;--card-foreground: 0 0% 98%;--popover: 240 10% 3.9%;--popover-foreground: 0 0% 98%;--primary: 0 0% 98%;--primary-foreground: 240 5.9% 10%;--secondary: 240 3.7% 15.9%;--secondary-foreground: 0 0% 98%;--muted: 240 3.7% 15.9%;--muted-foreground: 240 5% 64.9%;--accent: 240 3.7% 15.9%;--accent-foreground: 0 0% 98%;--destructive: 0 62.8% 30.6%;--destructive-foreground: 0 0% 98%;--border: 240 3.7% 15.9%;--input: 240 3.7% 15.9%;--ring: 240 4.9% 83.9%;--chart-1: 220 70% 50%;--chart-2: 160 60% 45%;--chart-3: 30 80% 55%;--chart-4: 280 65% 60%;--chart-5: 340 75% 55%}*{border-color:hsl(var(--border))}html{overflow-x:hidden;scroll-behavior:smooth;font-family:Montserrat,sans-serif}body{background-color:hsl(var(--background));color:hsl(var(--foreground));overflow-x:hidden;width:100%;position:relative;-webkit-overflow-scrolling:touch;font-family:Montserrat,sans-serif;font-optical-sizing:auto;font-weight:400;font-style:normal}#root{overflow-x:hidden;width:100%;min-height:100vh;font-family:Montserrat,sans-serif}h1,h2,h3,h4,h5,h6{font-family:Montserrat,sans-serif;font-optical-sizing:auto;font-weight:600;font-style:normal}p,span,div,label,input,textarea,select,button{font-family:Montserrat,sans-serif;font-optical-sizing:auto;font-style:normal}code,pre{font-family:Roboto Mono,monospace}button,[role=button]{touch-action:manipulation;font-family:Montserrat,sans-serif}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-2{inset:.5rem}.-right-1{right:-.25rem}.-right-2{right:-.5rem}.-top-1{top:-.25rem}.-top-2{top:-.5rem}.bottom-0{bottom:0}.bottom-1{bottom:.25rem}.left-0{left:0}.left-2{left:.5rem}.left-3{left:.75rem}.right-0{right:0}.right-2{right:.5rem}.top-0{top:0}.top-1{top:.25rem}.top-1\/2{top:50%}.-z-10{z-index:-10}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\[10000\]{z-index:10000}.z-\[9999\]{z-index:9999}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-12{margin-top:3rem;margin-bottom:3rem}.my-4{margin-top:1rem;margin-bottom:1rem}.mb-1{margin-bottom:.25rem}.mb-12{margin-bottom:3rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mt-0\.5{margin-top:.125rem}.mt-2{margin-top:.5rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.h-1{height:.25rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-16{height:4rem}.h-2{height:.5rem}.h-20{height:5rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-56{height:14rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-8{height:2rem}.h-\[50rem\]{height:50rem}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.max-h-\[70vh\]{max-height:70vh}.max-h-full{max-height:100%}.min-h-\[2rem\]{min-height:2rem}.min-h-\[400px\]{min-height:400px}.min-h-screen{min-height:100vh}.w-1{width:.25rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-16{width:4rem}.w-20{width:5rem}.w-3{width:.75rem}.w-4{width:1rem}.w-40{width:10rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-auto{width:auto}.w-full{width:100%}.min-w-\[80px\]{min-width:80px}.max-w-2xl{max-width:42rem}.max-w-4xl{max-width:56rem}.max-w-\[768px\]{max-width:768px}.max-w-full{max-width:100%}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-\[20vh\]{--tw-translate-y: -20vh;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-\[30vh\]{--tw-translate-y: -30vh;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-110{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.animate-shimmer{animation:shimmer 2s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.touch-manipulation{touch-action:manipulation}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.resize{resize:both}.break-inside-avoid{-moz-column-break-inside:avoid;break-inside:avoid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0px}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.whitespace-pre-line{white-space:pre-line}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-4{border-width:4px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-r{border-right-width:1px}.border-blue-200{--tw-border-opacity: 1;border-color:rgb(191 219 254 / var(--tw-border-opacity, 1))}.border-current{border-color:currentColor}.border-purple-200{--tw-border-opacity: 1;border-color:rgb(233 213 255 / var(--tw-border-opacity, 1))}.border-purple-200\/20{border-color:#e9d5ff33}.border-purple-400{--tw-border-opacity: 1;border-color:rgb(192 132 252 / var(--tw-border-opacity, 1))}.border-purple-400\/30{border-color:#c084fc4d}.border-purple-400\/50{border-color:#c084fc80}.border-purple-500\/20{border-color:#a855f733}.border-purple-500\/30{border-color:#a855f74d}.border-purple-500\/50{border-color:#a855f780}.border-purple-600{--tw-border-opacity: 1;border-color:rgb(147 51 234 / var(--tw-border-opacity, 1))}.border-purple-600\/30{border-color:#9333ea4d}.border-red-500\/20{border-color:#ef444433}.border-red-500\/30{border-color:#ef44444d}.border-red-500\/50{border-color:#ef444480}.border-slate-200{--tw-border-opacity: 1;border-color:rgb(226 232 240 / var(--tw-border-opacity, 1))}.border-slate-200\/20{border-color:#e2e8f033}.border-slate-300{--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity, 1))}.border-slate-300\/30{border-color:#cbd5e14d}.border-slate-300\/50{border-color:#cbd5e180}.border-white{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity, 1))}.border-white\/10{border-color:#ffffff1a}.border-white\/20{border-color:#fff3}.border-white\/5{border-color:#ffffff0d}.border-yellow-500\/30{border-color:#eab3084d}.border-t-purple-500{--tw-border-opacity: 1;border-top-color:rgb(168 85 247 / var(--tw-border-opacity, 1))}.border-t-purple-600{--tw-border-opacity: 1;border-top-color:rgb(147 51 234 / var(--tw-border-opacity, 1))}.border-t-transparent{border-top-color:transparent}.bg-\[rgba\(30\,41\,59\,0\.75\)\]{background-color:#1e293bbf}.bg-black\/30{background-color:#0000004d}.bg-black\/50{background-color:#00000080}.bg-black\/70{background-color:#000000b3}.bg-black\/80{background-color:#000c}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.bg-purple-50{--tw-bg-opacity: 1;background-color:rgb(250 245 255 / var(--tw-bg-opacity, 1))}.bg-purple-500{--tw-bg-opacity: 1;background-color:rgb(168 85 247 / var(--tw-bg-opacity, 1))}.bg-red-100{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1))}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.bg-red-500\/10{background-color:#ef44441a}.bg-red-500\/20{background-color:#ef444433}.bg-slate-100{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.bg-slate-100\/30{background-color:#f1f5f94d}.bg-slate-100\/50{background-color:#f1f5f980}.bg-slate-200{--tw-bg-opacity: 1;background-color:rgb(226 232 240 / var(--tw-bg-opacity, 1))}.bg-slate-200\/30{background-color:#e2e8f04d}.bg-slate-200\/50{background-color:#e2e8f080}.bg-slate-300{--tw-bg-opacity: 1;background-color:rgb(203 213 225 / var(--tw-bg-opacity, 1))}.bg-slate-300\/50{background-color:#cbd5e180}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/0{background-color:#fff0}.bg-white\/10{background-color:#ffffff1a}.bg-white\/20{background-color:#fff3}.bg-white\/5{background-color:#ffffff0d}.bg-white\/80{background-color:#fffc}.bg-yellow-500\/20{background-color:#eab30833}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.from-black\/60{--tw-gradient-from: rgb(0 0 0 / .6) var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-50{--tw-gradient-from: #eff6ff var(--tw-gradient-from-position);--tw-gradient-to: rgb(239 246 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-cyan-500{--tw-gradient-from: #06b6d4 var(--tw-gradient-from-position);--tw-gradient-to: rgb(6 182 212 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-green-400{--tw-gradient-from: #4ade80 var(--tw-gradient-from-position);--tw-gradient-to: rgb(74 222 128 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-green-500{--tw-gradient-from: #22c55e var(--tw-gradient-from-position);--tw-gradient-to: rgb(34 197 94 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-neutral-200{--tw-gradient-from: #e5e5e5 var(--tw-gradient-from-position);--tw-gradient-to: rgb(229 229 229 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-orange-500{--tw-gradient-from: #f97316 var(--tw-gradient-from-position);--tw-gradient-to: rgb(249 115 22 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-pink-500{--tw-gradient-from: #ec4899 var(--tw-gradient-from-position);--tw-gradient-to: rgb(236 72 153 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-purple-400{--tw-gradient-from: #c084fc var(--tw-gradient-from-position);--tw-gradient-to: rgb(192 132 252 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-purple-500{--tw-gradient-from: #a855f7 var(--tw-gradient-from-position);--tw-gradient-to: rgb(168 85 247 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-purple-500\/10{--tw-gradient-from: rgb(168 85 247 / .1) var(--tw-gradient-from-position);--tw-gradient-to: rgb(168 85 247 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-purple-500\/15{--tw-gradient-from: rgb(168 85 247 / .15) var(--tw-gradient-from-position);--tw-gradient-to: rgb(168 85 247 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-purple-500\/20{--tw-gradient-from: rgb(168 85 247 / .2) var(--tw-gradient-from-position);--tw-gradient-to: rgb(168 85 247 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-purple-600{--tw-gradient-from: #9333ea var(--tw-gradient-from-position);--tw-gradient-to: rgb(147 51 234 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-purple-600\/80{--tw-gradient-from: rgb(147 51 234 / .8) var(--tw-gradient-from-position);--tw-gradient-to: rgb(147 51 234 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-slate-800{--tw-gradient-from: #1e293b var(--tw-gradient-from-position);--tw-gradient-to: rgb(30 41 59 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-transparent{--tw-gradient-from: transparent var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-white\/10{--tw-gradient-from: rgb(255 255 255 / .1) var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-yellow-500{--tw-gradient-from: #eab308 var(--tw-gradient-from-position);--tw-gradient-to: rgb(234 179 8 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-pink-600{--tw-gradient-to: rgb(219 39 119 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #db2777 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-slate-600{--tw-gradient-to: rgb(71 85 105 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #475569 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-white\/20{--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(255 255 255 / .2) var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-blue-500{--tw-gradient-to: #3b82f6 var(--tw-gradient-to-position)}.to-cyan-600{--tw-gradient-to: #0891b2 var(--tw-gradient-to-position)}.to-emerald-500{--tw-gradient-to: #10b981 var(--tw-gradient-to-position)}.to-indigo-50{--tw-gradient-to: #eef2ff var(--tw-gradient-to-position)}.to-indigo-500{--tw-gradient-to: #6366f1 var(--tw-gradient-to-position)}.to-neutral-500{--tw-gradient-to: #737373 var(--tw-gradient-to-position)}.to-pink-500{--tw-gradient-to: #ec4899 var(--tw-gradient-to-position)}.to-pink-500\/10{--tw-gradient-to: rgb(236 72 153 / .1) var(--tw-gradient-to-position)}.to-pink-500\/15{--tw-gradient-to: rgb(236 72 153 / .15) var(--tw-gradient-to-position)}.to-pink-500\/20{--tw-gradient-to: rgb(236 72 153 / .2) var(--tw-gradient-to-position)}.to-pink-600{--tw-gradient-to: #db2777 var(--tw-gradient-to-position)}.to-pink-600\/80{--tw-gradient-to: rgb(219 39 119 / .8) var(--tw-gradient-to-position)}.to-red-500{--tw-gradient-to: #ef4444 var(--tw-gradient-to-position)}.to-slate-600{--tw-gradient-to: #475569 var(--tw-gradient-to-position)}.to-slate-700{--tw-gradient-to: #334155 var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to: transparent var(--tw-gradient-to-position)}.to-white\/5{--tw-gradient-to: rgb(255 255 255 / .05) var(--tw-gradient-to-position)}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-12{padding-bottom:3rem}.pl-10{padding-left:2.5rem}.pt-2{padding-top:.5rem}.pt-20{padding-top:5rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.text-center{text-align:center}.font-sans{font-family:Montserrat,system-ui,sans-serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-\[10px\]{font-size:10px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-relaxed{line-height:1.625}.tracking-wider{letter-spacing:.05em}.text-blue-400{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.text-blue-700{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.text-blue-800{--tw-text-opacity: 1;color:rgb(30 64 175 / var(--tw-text-opacity, 1))}.text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-green-400{--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity, 1))}.text-purple-400{--tw-text-opacity: 1;color:rgb(192 132 252 / var(--tw-text-opacity, 1))}.text-purple-400\/60{color:#c084fc99}.text-purple-500{--tw-text-opacity: 1;color:rgb(168 85 247 / var(--tw-text-opacity, 1))}.text-purple-600{--tw-text-opacity: 1;color:rgb(147 51 234 / var(--tw-text-opacity, 1))}.text-purple-700{--tw-text-opacity: 1;color:rgb(126 34 206 / var(--tw-text-opacity, 1))}.text-purple-800{--tw-text-opacity: 1;color:rgb(107 33 168 / var(--tw-text-opacity, 1))}.text-red-200{--tw-text-opacity: 1;color:rgb(254 202 202 / var(--tw-text-opacity, 1))}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-slate-300\/10{color:#cbd5e11a}.text-slate-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.text-slate-600{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity, 1))}.text-slate-700{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity, 1))}.text-slate-800{--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity, 1))}.text-slate-900{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.text-transparent{color:transparent}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-white\/80{color:#fffc}.text-yellow-200{--tw-text-opacity: 1;color:rgb(254 240 138 / var(--tw-text-opacity, 1))}.text-yellow-400{--tw-text-opacity: 1;color:rgb(250 204 21 / var(--tw-text-opacity, 1))}.text-yellow-500{--tw-text-opacity: 1;color:rgb(234 179 8 / var(--tw-text-opacity, 1))}.placeholder-slate-500::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(100 116 139 / var(--tw-placeholder-opacity, 1))}.placeholder-slate-500::placeholder{--tw-placeholder-opacity: 1;color:rgb(100 116 139 / var(--tw-placeholder-opacity, 1))}.opacity-0{opacity:0}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-60{opacity:.6}.opacity-80{opacity:.8}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-purple-500\/20{--tw-shadow-color: rgb(168 85 247 / .2);--tw-shadow: var(--tw-shadow-colored)}.outline{outline-style:solid}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-md{--tw-blur: blur(12px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur: blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-lg{--tw-backdrop-blur: blur(16px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-md{--tw-backdrop-blur: blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-xl{--tw-backdrop-blur: blur(24px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.will-change-transform{will-change:transform}@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))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.duration-150{animation-duration:.15s}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.duration-500{animation-duration:.5s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}.\[-T\:Z\.\]{--t: Z.}.\[background-image\:radial-gradient\(\#d4d4d4_2px\,transparent_2px\)\]{background-image:radial-gradient(#d4d4d4 2px,transparent 2px)}.\[background-size\:40px_40px\]{background-size:40px 40px}.\[mask-image\:radial-gradient\(ellipse_at_center\,transparent_20\%\,black\)\]{-webkit-mask-image:radial-gradient(ellipse at center,transparent 20%,black);mask-image:radial-gradient(ellipse at center,transparent 20%,black)}*{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}input,textarea,[contenteditable],.selectable{-webkit-user-select:text;-moz-user-select:text;user-select:text}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overscroll-behavior:none}img{image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}.animate-spin,.animate-pulse,[class*=animate-]{will-change:transform;transform:translateZ(0)}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:inset-0:before{content:var(--tw-content);inset:0}.before\:rounded-2xl:before{content:var(--tw-content);border-radius:1rem}.before\:border:before{content:var(--tw-content);border-width:1px}.before\:border-slate-200\/40:before{content:var(--tw-content);border-color:#e2e8f066}.before\:bg-gradient-to-br:before{content:var(--tw-content);background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.before\:from-slate-200\/20:before{content:var(--tw-content);--tw-gradient-from: rgb(226 232 240 / .2) var(--tw-gradient-from-position);--tw-gradient-to: rgb(226 232 240 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.before\:to-transparent:before{content:var(--tw-content);--tw-gradient-to: transparent var(--tw-gradient-to-position)}.before\:opacity-50:before{content:var(--tw-content);opacity:.5}.hover\:scale-105:hover{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-purple-500:hover{--tw-border-opacity: 1;border-color:rgb(168 85 247 / var(--tw-border-opacity, 1))}.hover\:border-slate-400\/40:hover{border-color:#94a3b866}.hover\:border-slate-400\/60:hover{border-color:#94a3b899}.hover\:border-white\/30:hover{border-color:#ffffff4d}.hover\:bg-black\/70:hover{background-color:#000000b3}.hover\:bg-purple-50:hover{--tw-bg-opacity: 1;background-color:rgb(250 245 255 / var(--tw-bg-opacity, 1))}.hover\:bg-purple-500\/10:hover{background-color:#a855f71a}.hover\:bg-purple-600\/20:hover{background-color:#9333ea33}.hover\:bg-purple-600\/30:hover{background-color:#9333ea4d}.hover\:bg-slate-100:hover{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.hover\:bg-slate-200\/40:hover{background-color:#e2e8f066}.hover\:bg-slate-200\/60:hover{background-color:#e2e8f099}.hover\:bg-slate-200\/70:hover{background-color:#e2e8f0b3}.hover\:bg-slate-300\/40:hover{background-color:#cbd5e166}.hover\:bg-slate-400:hover{--tw-bg-opacity: 1;background-color:rgb(148 163 184 / var(--tw-bg-opacity, 1))}.hover\:bg-white:hover{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.hover\:bg-white\/30:hover{background-color:#ffffff4d}.hover\:from-purple-700:hover{--tw-gradient-from: #7e22ce var(--tw-gradient-from-position);--tw-gradient-to: rgb(126 34 206 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.hover\:from-white\/20:hover{--tw-gradient-from: rgb(255 255 255 / .2) var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.hover\:to-pink-700:hover{--tw-gradient-to: #be185d var(--tw-gradient-to-position)}.hover\:to-white\/10:hover{--tw-gradient-to: rgb(255 255 255 / .1) var(--tw-gradient-to-position)}.hover\:text-black:hover{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.hover\:text-blue-600:hover{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.hover\:text-blue-700:hover{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.hover\:text-gray-800:hover{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.hover\:text-orange-600:hover{--tw-text-opacity: 1;color:rgb(234 88 12 / var(--tw-text-opacity, 1))}.hover\:text-pink-600:hover{--tw-text-opacity: 1;color:rgb(219 39 119 / var(--tw-text-opacity, 1))}.hover\:text-purple-300:hover{--tw-text-opacity: 1;color:rgb(216 180 254 / var(--tw-text-opacity, 1))}.hover\:text-purple-600:hover{--tw-text-opacity: 1;color:rgb(147 51 234 / var(--tw-text-opacity, 1))}.hover\:text-purple-700:hover{--tw-text-opacity: 1;color:rgb(126 34 206 / var(--tw-text-opacity, 1))}.hover\:text-red-600:hover{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.hover\:text-slate-600:hover{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity, 1))}.hover\:text-slate-700:hover{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity, 1))}.hover\:text-slate-800:hover{--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity, 1))}.hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.hover\:opacity-100:hover{opacity:1}.hover\:opacity-90:hover{opacity:.9}.hover\:shadow-2xl:hover{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-xl:hover{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-purple-500\/10:hover{--tw-shadow-color: rgb(168 85 247 / .1);--tw-shadow: var(--tw-shadow-colored)}.hover\:shadow-purple-500\/25:hover{--tw-shadow-color: rgb(168 85 247 / .25);--tw-shadow: var(--tw-shadow-colored)}.focus\:border-purple-500\/50:focus{border-color:#a855f780}.focus\:border-red-500\/50:focus{border-color:#ef444480}.focus\:bg-slate-200\/50:focus{background-color:#e2e8f080}.focus\:text-slate-800:focus{--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity, 1))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-purple-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(168 85 247 / var(--tw-ring-opacity, 1))}.focus\:ring-purple-500\/20:focus{--tw-ring-color: rgb(168 85 247 / .2)}.focus\:ring-purple-500\/50:focus{--tw-ring-color: rgb(168 85 247 / .5)}.focus\:ring-red-500\/20:focus{--tw-ring-color: rgb(239 68 68 / .2)}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.focus\:ring-offset-transparent:focus{--tw-ring-offset-color: transparent}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:hover\:scale-100:hover:disabled{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:scale-105{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:opacity-100{opacity:1}.dark\:border-blue-800:is(.dark *){--tw-border-opacity: 1;border-color:rgb(30 64 175 / var(--tw-border-opacity, 1))}.dark\:border-purple-400:is(.dark *){--tw-border-opacity: 1;border-color:rgb(192 132 252 / var(--tw-border-opacity, 1))}.dark\:border-purple-800:is(.dark *){--tw-border-opacity: 1;border-color:rgb(107 33 168 / var(--tw-border-opacity, 1))}.dark\:border-slate-700:is(.dark *){--tw-border-opacity: 1;border-color:rgb(51 65 85 / var(--tw-border-opacity, 1))}.dark\:border-white\/10:is(.dark *){border-color:#ffffff1a}.dark\:border-white\/20:is(.dark *){border-color:#fff3}.dark\:bg-\[rgba\(15\,23\,42\,0\.75\)\]:is(.dark *){background-color:#0f172abf}.dark\:bg-black:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))}.dark\:bg-purple-900\/20:is(.dark *){background-color:#581c8733}.dark\:bg-red-900\/20:is(.dark *){background-color:#7f1d1d33}.dark\:bg-slate-700:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(51 65 85 / var(--tw-bg-opacity, 1))}.dark\:bg-slate-800:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity, 1))}.dark\:bg-slate-800\/50:is(.dark *){background-color:#1e293b80}.dark\:bg-slate-900:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity, 1))}.dark\:bg-slate-950:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(2 6 23 / var(--tw-bg-opacity, 1))}.dark\:bg-white\/10:is(.dark *){background-color:#ffffff1a}.dark\:bg-white\/30:is(.dark *){background-color:#ffffff4d}.dark\:bg-white\/5:is(.dark *){background-color:#ffffff0d}.dark\:from-blue-900\/20:is(.dark *){--tw-gradient-from: rgb(30 58 138 / .2) var(--tw-gradient-from-position);--tw-gradient-to: rgb(30 58 138 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.dark\:from-purple-400:is(.dark *){--tw-gradient-from: #c084fc var(--tw-gradient-from-position);--tw-gradient-to: rgb(192 132 252 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.dark\:from-white:is(.dark *){--tw-gradient-from: #fff var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.dark\:via-pink-400:is(.dark *){--tw-gradient-to: rgb(244 114 182 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #f472b6 var(--tw-gradient-via-position), var(--tw-gradient-to)}.dark\:via-purple-200:is(.dark *){--tw-gradient-to: rgb(233 213 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #e9d5ff var(--tw-gradient-via-position), var(--tw-gradient-to)}.dark\:to-cyan-400:is(.dark *){--tw-gradient-to: #22d3ee var(--tw-gradient-to-position)}.dark\:to-indigo-900\/20:is(.dark *){--tw-gradient-to: rgb(49 46 129 / .2) var(--tw-gradient-to-position)}.dark\:to-pink-200:is(.dark *){--tw-gradient-to: #fbcfe8 var(--tw-gradient-to-position)}.dark\:to-white\/80:is(.dark *){--tw-gradient-to: rgb(255 255 255 / .8) var(--tw-gradient-to-position)}.dark\:text-blue-200:is(.dark *){--tw-text-opacity: 1;color:rgb(191 219 254 / var(--tw-text-opacity, 1))}.dark\:text-blue-300:is(.dark *){--tw-text-opacity: 1;color:rgb(147 197 253 / var(--tw-text-opacity, 1))}.dark\:text-gray-400:is(.dark *){--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.dark\:text-purple-200:is(.dark *){--tw-text-opacity: 1;color:rgb(233 213 255 / var(--tw-text-opacity, 1))}.dark\:text-purple-300:is(.dark *){--tw-text-opacity: 1;color:rgb(216 180 254 / var(--tw-text-opacity, 1))}.dark\:text-purple-400:is(.dark *){--tw-text-opacity: 1;color:rgb(192 132 252 / var(--tw-text-opacity, 1))}.dark\:text-slate-300:is(.dark *){--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity, 1))}.dark\:text-slate-400:is(.dark *){--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.dark\:text-white:is(.dark *){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.dark\:text-white\/50:is(.dark *){color:#ffffff80}.dark\:text-white\/60:is(.dark *){color:#fff9}.dark\:text-white\/70:is(.dark *){color:#ffffffb3}.dark\:text-white\/80:is(.dark *){color:#fffc}.dark\:text-white\/90:is(.dark *){color:#ffffffe6}.dark\:placeholder-white\/50:is(.dark *)::-moz-placeholder{color:#ffffff80}.dark\:placeholder-white\/50:is(.dark *)::placeholder{color:#ffffff80}.dark\:opacity-60:is(.dark *){opacity:.6}.dark\:\[background-image\:radial-gradient\(\#404040_2px\,transparent_2px\)\]:is(.dark *){background-image:radial-gradient(#404040 2px,transparent 2px)}.dark\:before\:border-white\/20:is(.dark *):before{content:var(--tw-content);border-color:#fff3}.dark\:before\:from-white\/10:is(.dark *):before{content:var(--tw-content);--tw-gradient-from: rgb(255 255 255 / .1) var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.dark\:hover\:border-white\/20:hover:is(.dark *){border-color:#fff3}.dark\:hover\:border-white\/30:hover:is(.dark *){border-color:#ffffff4d}.dark\:hover\:bg-purple-900\/20:hover:is(.dark *){background-color:#581c8733}.dark\:hover\:bg-slate-800:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-white\/10:hover:is(.dark *){background-color:#ffffff1a}.dark\:hover\:bg-white\/20:hover:is(.dark *){background-color:#fff3}.dark\:hover\:bg-white\/50:hover:is(.dark *){background-color:#ffffff80}.dark\:hover\:text-blue-400:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.dark\:hover\:text-blue-500:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.dark\:hover\:text-cyan-300:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(103 232 249 / var(--tw-text-opacity, 1))}.dark\:hover\:text-orange-500:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(249 115 22 / var(--tw-text-opacity, 1))}.dark\:hover\:text-pink-400:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(244 114 182 / var(--tw-text-opacity, 1))}.dark\:hover\:text-purple-300:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(216 180 254 / var(--tw-text-opacity, 1))}.dark\:hover\:text-red-500:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.dark\:hover\:text-slate-300:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity, 1))}.dark\:hover\:text-white:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.dark\:focus\:bg-white\/10:focus:is(.dark *){background-color:#ffffff1a}.dark\:focus\:text-white:focus:is(.dark *){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}@media (min-width: 620px){.min-\[620px\]\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width: 640px){.sm\:block{display:block}.sm\:h-10{height:2.5rem}.sm\:h-12{height:3rem}.sm\:h-5{height:1.25rem}.sm\:w-10{width:2.5rem}.sm\:w-12{width:3rem}.sm\:w-5{width:1.25rem}.sm\:max-w-md{max-width:28rem}.sm\:gap-3{gap:.75rem}.sm\:px-4{padding-left:1rem;padding-right:1rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:text-7xl{font-size:4.5rem;line-height:1}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}.sm\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width: 768px){.md\:w-72{width:18rem}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:p-6{padding:1.5rem}.md\:text-3xl{font-size:1.875rem;line-height:2.25rem}.md\:text-6xl{font-size:3.75rem;line-height:1}.md\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width: 1024px){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:text-5xl{font-size:3rem;line-height:1}.lg\:text-7xl{font-size:4.5rem;line-height:1}}.masonry-grid{display:flex;width:auto;margin-left:-16px}.masonry-grid-column{padding-left:16px;background-clip:padding-box;width:100%}.masonry-item{margin-bottom:16px;-moz-column-break-inside:avoid;break-inside:avoid}.masonry-image-container{position:relative;overflow:hidden;border-radius:8px;background:#0000000d}.masonry-image{width:100%;height:auto;display:block;transition:transform .3s ease}.masonry-image-container:hover .masonry-image{transform:scale(1.03)}.masonry-overlay{position:absolute;inset:0;background:#0006;opacity:0;transition:opacity .3s ease;display:flex;align-items:flex-end;padding:16px}.masonry-image-container:hover .masonry-overlay{opacity:1}.masonry-placeholder{position:absolute;inset:0;background-color:#0000001a;display:flex;align-items:center;justify-content:center}@supports (-webkit-appearance:none){.masonry-grid{width:calc(100% + 16px)}}.masonry-fade-in{animation:fadeIn .5s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}
|
assets/logo/logo.jpg
ADDED
|
assets/ui-BjUdCpih.js
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import{r as p,j as k}from"./vendor-CjHduoA4.js";import{i as ii,a as Ht,t as Q,b as Gt,g as on,n as rn,c as D,p as nt,m as V,d as Z,K as si,e as zt,f as S,h as $,j as oi,k as ri,l as ai,q as jt,r as li,S as an,s as Kt,D as ui,u as ci,v as hi,w as fi,M as pt,x as _t,y as ft,z as ce,J as di,A as mi,B as pi,C as ln,E as L,F as un,G as gi,H as Bt,I as cn,L as yi,N as gt,O as Y,P as hn,Q as fn,R as vi,T as xi,U as Pi,V as Vt,W as Ti,X as Si}from"./vendor-other-B0VykD61.js";const Xt=p.createContext({});function Yt(t){const e=p.useRef(null);return e.current===null&&(e.current=t()),e.current}const qt=typeof window<"u",dn=qt?p.useLayoutEffect:p.useEffect,xt=p.createContext(null),Zt=p.createContext({transformPagePoint:t=>t,isStatic:!1,reducedMotion:"never"});class Vi extends p.Component{getSnapshotBeforeUpdate(e){const n=this.props.childRef.current;if(n&&e.isPresent&&!this.props.isPresent){const i=n.offsetParent,o=ii(i)&&i.offsetWidth||0,r=this.props.sizeRef.current;r.height=n.offsetHeight||0,r.width=n.offsetWidth||0,r.top=n.offsetTop,r.left=n.offsetLeft,r.right=o-r.width-r.left}return null}componentDidUpdate(){}render(){return this.props.children}}function Ci({children:t,isPresent:e,anchorX:n,root:i}){const o=p.useId(),r=p.useRef(null),s=p.useRef({width:0,height:0,top:0,left:0,right:0}),{nonce:a}=p.useContext(Zt);return p.useInsertionEffect(()=>{const{width:l,height:c,top:u,left:h,right:f}=s.current;if(e||!r.current||!l||!c)return;const d=n==="left"?`left: ${h}`:`right: ${f}`;r.current.dataset.motionPopId=o;const m=document.createElement("style");a&&(m.nonce=a);const x=i??document.head;return x.appendChild(m),m.sheet&&m.sheet.insertRule(`
|
| 2 |
+
[data-motion-pop-id="${o}"] {
|
| 3 |
+
position: absolute !important;
|
| 4 |
+
width: ${l}px !important;
|
| 5 |
+
height: ${c}px !important;
|
| 6 |
+
${d}px !important;
|
| 7 |
+
top: ${u}px !important;
|
| 8 |
+
}
|
| 9 |
+
`),()=>{x.contains(m)&&x.removeChild(m)}},[e]),k.jsx(Vi,{isPresent:e,childRef:r,sizeRef:s,children:p.cloneElement(t,{ref:r})})}const Ai=({children:t,initial:e,isPresent:n,onExitComplete:i,custom:o,presenceAffectsLayout:r,mode:s,anchorX:a,root:l})=>{const c=Yt(wi),u=p.useId();let h=!0,f=p.useMemo(()=>(h=!1,{id:u,initial:e,isPresent:n,custom:o,onExitComplete:d=>{c.set(d,!0);for(const m of c.values())if(!m)return;i&&i()},register:d=>(c.set(d,!1),()=>c.delete(d))}),[n,c,i]);return r&&h&&(f={...f}),p.useMemo(()=>{c.forEach((d,m)=>c.set(m,!1))},[n]),p.useEffect(()=>{!n&&!c.size&&i&&i()},[n]),s==="popLayout"&&(t=k.jsx(Ci,{isPresent:n,anchorX:a,root:l,children:t})),k.jsx(xt.Provider,{value:f,children:t})};function wi(){return new Map}function mn(t=!0){const e=p.useContext(xt);if(e===null)return[!0,null];const{isPresent:n,onExitComplete:i,register:o}=e,r=p.useId();p.useEffect(()=>{if(t)return o(r)},[t]);const s=p.useCallback(()=>t&&i&&i(r),[r,i,t]);return!n&&i?[!1,s]:[!0]}const ct=t=>t.key||"";function he(t){const e=[];return p.Children.forEach(t,n=>{p.isValidElement(n)&&e.push(n)}),e}const ur=({children:t,custom:e,initial:n=!0,onExitComplete:i,presenceAffectsLayout:o=!0,mode:r="sync",propagate:s=!1,anchorX:a="left",root:l})=>{const[c,u]=mn(s),h=p.useMemo(()=>he(t),[t]),f=s&&!c?[]:h.map(ct),d=p.useRef(!0),m=p.useRef(h),x=Yt(()=>new Map),[P,y]=p.useState(h),[g,v]=p.useState(h);dn(()=>{d.current=!1,m.current=h;for(let M=0;M<g.length;M++){const A=ct(g[M]);f.includes(A)?x.delete(A):x.get(A)!==!0&&x.set(A,!1)}},[g,f.length,f.join("-")]);const C=[];if(h!==P){let M=[...h];for(let A=0;A<g.length;A++){const I=g[A],H=ct(I);f.includes(H)||(M.splice(A,0,I),C.push(I))}return r==="wait"&&C.length&&(M=C),v(he(M)),y(h),null}const{forceRender:E}=p.useContext(Xt);return k.jsx(k.Fragment,{children:g.map(M=>{const A=ct(M),I=s&&!c?!1:h===g||f.includes(A),H=()=>{if(x.has(A))x.set(A,!0);else return;let tt=!0;x.forEach(O=>{O||(tt=!1)}),tt&&(E?.(),v(m.current),s&&u?.(),i&&i())};return k.jsx(Ai,{isPresent:I,initial:!d.current||n?void 0:!1,custom:e,presenceAffectsLayout:o,mode:r,root:l,onExitComplete:I?void 0:H,anchorX:a,children:M},A)})})},pn=p.createContext({strict:!1}),fe={animation:["animate","variants","whileHover","whileTap","exit","whileInView","whileFocus","whileDrag"],exit:["exit"],drag:["drag","dragControls"],focus:["whileFocus"],hover:["whileHover","onHoverStart","onHoverEnd"],tap:["whileTap","onTap","onTapStart","onTapCancel"],pan:["onPan","onPanStart","onPanSessionStart","onPanEnd"],inView:["whileInView","onViewportEnter","onViewportLeave"],layout:["layout","layoutId"]},J={};for(const t in fe)J[t]={isEnabled:e=>fe[t].some(n=>!!e[n])};function Di(t){for(const e in t)J[e]={...J[e],...t[e]}}const Mi=new Set(["animate","exit","variants","initial","style","values","variants","transition","transformTemplate","custom","inherit","onBeforeLayoutMeasure","onAnimationStart","onAnimationComplete","onUpdate","onDragStart","onDrag","onDragEnd","onMeasureDragConstraints","onDirectionLock","onDragTransitionEnd","_dragX","_dragY","onHoverStart","onHoverEnd","onViewportEnter","onViewportLeave","globalTapTarget","ignoreStrict","viewport"]);function yt(t){return t.startsWith("while")||t.startsWith("drag")&&t!=="draggable"||t.startsWith("layout")||t.startsWith("onTap")||t.startsWith("onPan")||t.startsWith("onLayout")||Mi.has(t)}let gn=t=>!yt(t);function Ri(t){typeof t=="function"&&(gn=e=>e.startsWith("on")?!yt(e):t(e))}try{Ri(require("@emotion/is-prop-valid").default)}catch{}function Li(t,e,n){const i={};for(const o in t)o==="values"&&typeof t.values=="object"||(gn(o)||n===!0&&yt(o)||!e&&!yt(o)||t.draggable&&o.startsWith("onDrag"))&&(i[o]=t[o]);return i}const Pt=p.createContext({});function Tt(t){return t!==null&&typeof t=="object"&&typeof t.start=="function"}function rt(t){return typeof t=="string"||Array.isArray(t)}const Jt=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],Qt=["initial",...Jt];function St(t){return Tt(t.animate)||Qt.some(e=>rt(t[e]))}function yn(t){return!!(St(t)||t.variants)}function Ei(t,e){if(St(t)){const{initial:n,animate:i}=t;return{initial:n===!1||rt(n)?n:void 0,animate:rt(i)?i:void 0}}return t.inherit!==!1?e:{}}function bi(t){const{initial:e,animate:n}=Ei(t,p.useContext(Pt));return p.useMemo(()=>({initial:e,animate:n}),[de(e),de(n)])}function de(t){return Array.isArray(t)?t.join(" "):t}const at={};function ji(t){for(const e in t)at[e]=t[e],Ht(e)&&(at[e].isCSSVariable=!0)}function vn(t,{layout:e,layoutId:n}){return Q.has(t)||t.startsWith("origin")||(e||n!==void 0)&&(!!at[t]||t==="opacity")}const Bi={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},Ii=Gt.length;function ki(t,e,n){let i="",o=!0;for(let r=0;r<Ii;r++){const s=Gt[r],a=t[s];if(a===void 0)continue;let l=!0;if(typeof a=="number"?l=a===(s.startsWith("scale")?1:0):l=parseFloat(a)===0,!l||n){const c=on(a,rn[s]);if(!l){o=!1;const u=Bi[s]||s;i+=`${u}(${c}) `}n&&(e[s]=c)}}return i=i.trim(),n?i=n(e,o?"":i):o&&(i="none"),i}function te(t,e,n){const{style:i,vars:o,transformOrigin:r}=t;let s=!1,a=!1;for(const l in e){const c=e[l];if(Q.has(l)){s=!0;continue}else if(Ht(l)){o[l]=c;continue}else{const u=on(c,rn[l]);l.startsWith("origin")?(a=!0,r[l]=u):i[l]=u}}if(e.transform||(s||n?i.transform=ki(e,t.transform,n):i.transform&&(i.transform="none")),a){const{originX:l="50%",originY:c="50%",originZ:u=0}=r;i.transformOrigin=`${l} ${c} ${u}`}}const ee=()=>({style:{},transform:{},transformOrigin:{},vars:{}});function xn(t,e,n){for(const i in e)!D(e[i])&&!vn(i,n)&&(t[i]=e[i])}function Fi({transformTemplate:t},e){return p.useMemo(()=>{const n=ee();return te(n,e,t),Object.assign({},n.vars,n.style)},[e])}function Oi(t,e){const n=t.style||{},i={};return xn(i,n,t),Object.assign(i,Fi(t,e)),i}function Ui(t,e){const n={},i=Oi(t,e);return t.drag&&t.dragListener!==!1&&(n.draggable=!1,i.userSelect=i.WebkitUserSelect=i.WebkitTouchCallout="none",i.touchAction=t.drag===!0?"none":`pan-${t.drag==="x"?"y":"x"}`),t.tabIndex===void 0&&(t.onTap||t.onTapStart||t.whileTap)&&(n.tabIndex=0),n.style=i,n}const Ni={offset:"stroke-dashoffset",array:"stroke-dasharray"},Wi={offset:"strokeDashoffset",array:"strokeDasharray"};function $i(t,e,n=1,i=0,o=!0){t.pathLength=1;const r=o?Ni:Wi;t[r.offset]=nt.transform(-i);const s=nt.transform(e),a=nt.transform(n);t[r.array]=`${s} ${a}`}function Pn(t,{attrX:e,attrY:n,attrScale:i,pathLength:o,pathSpacing:r=1,pathOffset:s=0,...a},l,c,u){if(te(t,a,c),l){t.style.viewBox&&(t.attrs.viewBox=t.style.viewBox);return}t.attrs=t.style,t.style={};const{attrs:h,style:f}=t;h.transform&&(f.transform=h.transform,delete h.transform),(f.transform||h.transformOrigin)&&(f.transformOrigin=h.transformOrigin??"50% 50%",delete h.transformOrigin),f.transform&&(f.transformBox=u?.transformBox??"fill-box",delete h.transformBox),e!==void 0&&(h.x=e),n!==void 0&&(h.y=n),i!==void 0&&(h.scale=i),o!==void 0&&$i(h,o,r,s,!1)}const Tn=()=>({...ee(),attrs:{}}),Sn=t=>typeof t=="string"&&t.toLowerCase()==="svg";function Hi(t,e,n,i){const o=p.useMemo(()=>{const r=Tn();return Pn(r,e,Sn(i),t.transformTemplate,t.style),{...r.attrs,style:{...r.style}}},[e]);if(t.style){const r={};xn(r,t.style,t),o.style={...r,...o.style}}return o}const Gi=["animate","circle","defs","desc","ellipse","g","image","line","filter","marker","mask","metadata","path","pattern","polygon","polyline","rect","stop","switch","symbol","svg","text","tspan","use","view"];function ne(t){return typeof t!="string"||t.includes("-")?!1:!!(Gi.indexOf(t)>-1||/[A-Z]/u.test(t))}function zi(t,e,n,{latestValues:i},o,r=!1){const a=(ne(t)?Hi:Ui)(e,i,o,t),l=Li(e,typeof t=="string",r),c=t!==p.Fragment?{...l,...a,ref:n}:{},{children:u}=e,h=p.useMemo(()=>D(u)?u.get():u,[u]);return p.createElement(t,{...c,children:h})}function me(t){const e=[{},{}];return t?.values.forEach((n,i)=>{e[0][i]=n.get(),e[1][i]=n.getVelocity()}),e}function ie(t,e,n,i){if(typeof e=="function"){const[o,r]=me(i);e=e(n!==void 0?n:t.custom,o,r)}if(typeof e=="string"&&(e=t.variants&&t.variants[e]),typeof e=="function"){const[o,r]=me(i);e=e(n!==void 0?n:t.custom,o,r)}return e}function dt(t){return D(t)?t.get():t}function Ki({scrapeMotionValuesFromProps:t,createRenderState:e},n,i,o){return{latestValues:_i(n,i,o,t),renderState:e()}}function _i(t,e,n,i){const o={},r=i(t,{});for(const f in r)o[f]=dt(r[f]);let{initial:s,animate:a}=t;const l=St(t),c=yn(t);e&&c&&!l&&t.inherit!==!1&&(s===void 0&&(s=e.initial),a===void 0&&(a=e.animate));let u=n?n.initial===!1:!1;u=u||s===!1;const h=u?a:s;if(h&&typeof h!="boolean"&&!Tt(h)){const f=Array.isArray(h)?h:[h];for(let d=0;d<f.length;d++){const m=ie(t,f[d]);if(m){const{transitionEnd:x,transition:P,...y}=m;for(const g in y){let v=y[g];if(Array.isArray(v)){const C=u?v.length-1:0;v=v[C]}v!==null&&(o[g]=v)}for(const g in x)o[g]=x[g]}}}return o}const Vn=t=>(e,n)=>{const i=p.useContext(Pt),o=p.useContext(xt),r=()=>Ki(t,e,i,o);return n?r():Yt(r)};function se(t,e,n){const{style:i}=t,o={};for(const r in i)(D(i[r])||e.style&&D(e.style[r])||vn(r,t)||n?.getValue(r)?.liveStyle!==void 0)&&(o[r]=i[r]);return o}const Xi=Vn({scrapeMotionValuesFromProps:se,createRenderState:ee});function Cn(t,e,n){const i=se(t,e,n);for(const o in t)if(D(t[o])||D(e[o])){const r=Gt.indexOf(o)!==-1?"attr"+o.charAt(0).toUpperCase()+o.substring(1):o;i[r]=t[o]}return i}const Yi=Vn({scrapeMotionValuesFromProps:Cn,createRenderState:Tn}),qi=Symbol.for("motionComponentSymbol");function z(t){return t&&typeof t=="object"&&Object.prototype.hasOwnProperty.call(t,"current")}function Zi(t,e,n){return p.useCallback(i=>{i&&t.onMount&&t.onMount(i),e&&(i?e.mount(i):e.unmount()),n&&(typeof n=="function"?n(i):z(n)&&(n.current=i))},[e])}const oe=t=>t.replace(/([a-z])([A-Z])/gu,"$1-$2").toLowerCase(),Ji="framerAppearId",An="data-"+oe(Ji),wn=p.createContext({});function Qi(t,e,n,i,o){const{visualElement:r}=p.useContext(Pt),s=p.useContext(pn),a=p.useContext(xt),l=p.useContext(Zt).reducedMotion,c=p.useRef(null);i=i||s.renderer,!c.current&&i&&(c.current=i(t,{visualState:e,parent:r,props:n,presenceContext:a,blockInitialAnimation:a?a.initial===!1:!1,reducedMotionConfig:l}));const u=c.current,h=p.useContext(wn);u&&!u.projection&&o&&(u.type==="html"||u.type==="svg")&&ts(c.current,n,o,h);const f=p.useRef(!1);p.useInsertionEffect(()=>{u&&f.current&&u.update(n,a)});const d=n[An],m=p.useRef(!!d&&!window.MotionHandoffIsComplete?.(d)&&window.MotionHasOptimisedAnimation?.(d));return dn(()=>{u&&(f.current=!0,window.MotionIsMounted=!0,u.updateFeatures(),u.scheduleRenderMicrotask(),m.current&&u.animationState&&u.animationState.animateChanges())}),p.useEffect(()=>{u&&(!m.current&&u.animationState&&u.animationState.animateChanges(),m.current&&(queueMicrotask(()=>{window.MotionHandoffMarkAsComplete?.(d)}),m.current=!1),u.enteringChildren=void 0)}),u}function ts(t,e,n,i){const{layoutId:o,layout:r,drag:s,dragConstraints:a,layoutScroll:l,layoutRoot:c,layoutCrossfade:u}=e;t.projection=new n(t.latestValues,e["data-framer-portal-id"]?void 0:Dn(t.parent)),t.projection.setOptions({layoutId:o,layout:r,alwaysMeasureLayout:!!s||a&&z(a),visualElement:t,animationType:typeof r=="string"?r:"both",initialPromotionConfig:i,crossfade:u,layoutScroll:l,layoutRoot:c})}function Dn(t){if(t)return t.options.allowProjection!==!1?t.projection:Dn(t.parent)}function Ct(t,{forwardMotionProps:e=!1}={},n,i){n&&Di(n);const o=ne(t)?Yi:Xi;function r(a,l){let c;const u={...p.useContext(Zt),...a,layoutId:es(a)},{isStatic:h}=u,f=bi(a),d=o(a,h);if(!h&&qt){ns();const m=is(u);c=m.MeasureLayout,f.visualElement=Qi(t,d,u,i,m.ProjectionNode)}return k.jsxs(Pt.Provider,{value:f,children:[c&&f.visualElement?k.jsx(c,{visualElement:f.visualElement,...u}):null,zi(t,a,Zi(d,f.visualElement,l),d,h,e)]})}r.displayName=`motion.${typeof t=="string"?t:`create(${t.displayName??t.name??""})`}`;const s=p.forwardRef(r);return s[qi]=t,s}function es({layoutId:t}){const e=p.useContext(Xt).id;return e&&t!==void 0?e+"-"+t:t}function ns(t,e){p.useContext(pn).strict}function is(t){const{drag:e,layout:n}=J;if(!e&&!n)return{};const i={...e,...n};return{MeasureLayout:e?.isEnabled(t)||n?.isEnabled(t)?i.MeasureLayout:void 0,ProjectionNode:i.ProjectionNode}}function ss(t,e){if(typeof Proxy>"u")return Ct;const n=new Map,i=(r,s)=>Ct(r,s,t,e),o=(r,s)=>i(r,s);return new Proxy(o,{get:(r,s)=>s==="create"?i:(n.has(s)||n.set(s,Ct(s,void 0,t,e)),n.get(s))})}function Mn({top:t,left:e,right:n,bottom:i}){return{x:{min:e,max:n},y:{min:t,max:i}}}function os({x:t,y:e}){return{top:e.min,right:t.max,bottom:e.max,left:t.min}}function rs(t,e){if(!e)return t;const n=e({x:t.left,y:t.top}),i=e({x:t.right,y:t.bottom});return{top:n.y,left:n.x,bottom:i.y,right:i.x}}function At(t){return t===void 0||t===1}function It({scale:t,scaleX:e,scaleY:n}){return!At(t)||!At(e)||!At(n)}function W(t){return It(t)||Rn(t)||t.z||t.rotate||t.rotateX||t.rotateY||t.skewX||t.skewY}function Rn(t){return pe(t.x)||pe(t.y)}function pe(t){return t&&t!=="0%"}function vt(t,e,n){const i=t-n,o=e*i;return n+o}function ge(t,e,n,i,o){return o!==void 0&&(t=vt(t,o,i)),vt(t,n,i)+e}function kt(t,e=0,n=1,i,o){t.min=ge(t.min,e,n,i,o),t.max=ge(t.max,e,n,i,o)}function Ln(t,{x:e,y:n}){kt(t.x,e.translate,e.scale,e.originPoint),kt(t.y,n.translate,n.scale,n.originPoint)}const ye=.999999999999,ve=1.0000000000001;function as(t,e,n,i=!1){const o=n.length;if(!o)return;e.x=e.y=1;let r,s;for(let a=0;a<o;a++){r=n[a],s=r.projectionDelta;const{visualElement:l}=r.options;l&&l.props.style&&l.props.style.display==="contents"||(i&&r.options.layoutScroll&&r.scroll&&r!==r.root&&_(t,{x:-r.scroll.offset.x,y:-r.scroll.offset.y}),s&&(e.x*=s.x.scale,e.y*=s.y.scale,Ln(t,s)),i&&W(r.latestValues)&&_(t,r.latestValues))}e.x<ve&&e.x>ye&&(e.x=1),e.y<ve&&e.y>ye&&(e.y=1)}function K(t,e){t.min=t.min+e,t.max=t.max+e}function xe(t,e,n,i,o=.5){const r=V(t.min,t.max,o);kt(t,e,n,r,i)}function _(t,e){xe(t.x,e.x,e.scaleX,e.scale,e.originX),xe(t.y,e.y,e.scaleY,e.scale,e.originY)}function En(t,e){return Mn(rs(t.getBoundingClientRect(),e))}function ls(t,e,n){const i=En(t,n),{scroll:o}=e;return o&&(K(i.x,o.offset.x),K(i.y,o.offset.y)),i}const Pe=()=>({translate:0,scale:1,origin:0,originPoint:0}),X=()=>({x:Pe(),y:Pe()}),Te=()=>({min:0,max:0}),T=()=>({x:Te(),y:Te()}),Ft={current:null},bn={current:!1};function us(){if(bn.current=!0,!!qt)if(window.matchMedia){const t=window.matchMedia("(prefers-reduced-motion)"),e=()=>Ft.current=t.matches;t.addEventListener("change",e),e()}else Ft.current=!1}const cs=new WeakMap;function hs(t,e,n){for(const i in e){const o=e[i],r=n[i];if(D(o))t.addValue(i,o);else if(D(r))t.addValue(i,Z(o,{owner:t}));else if(r!==o)if(t.hasValue(i)){const s=t.getValue(i);s.liveStyle===!0?s.jump(o):s.hasAnimated||s.set(o)}else{const s=t.getStaticValue(i);t.addValue(i,Z(s!==void 0?s:o,{owner:t}))}}for(const i in n)e[i]===void 0&&t.removeValue(i);return e}const Se=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"];class fs{scrapeMotionValuesFromProps(e,n,i){return{}}constructor({parent:e,props:n,presenceContext:i,reducedMotionConfig:o,blockInitialAnimation:r,visualState:s},a={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.values=new Map,this.KeyframeResolver=si,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify("Update",this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.renderScheduledAt=0,this.scheduleRender=()=>{const f=zt.now();this.renderScheduledAt<f&&(this.renderScheduledAt=f,S.render(this.render,!1,!0))};const{latestValues:l,renderState:c}=s;this.latestValues=l,this.baseTarget={...l},this.initialValues=n.initial?{...l}:{},this.renderState=c,this.parent=e,this.props=n,this.presenceContext=i,this.depth=e?e.depth+1:0,this.reducedMotionConfig=o,this.options=a,this.blockInitialAnimation=!!r,this.isControllingVariants=St(n),this.isVariantNode=yn(n),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=!!(e&&e.current);const{willChange:u,...h}=this.scrapeMotionValuesFromProps(n,{},this);for(const f in h){const d=h[f];l[f]!==void 0&&D(d)&&d.set(l[f])}}mount(e){this.current=e,cs.set(e,this),this.projection&&!this.projection.instance&&this.projection.mount(e),this.parent&&this.isVariantNode&&!this.isControllingVariants&&(this.removeFromVariantTree=this.parent.addVariantChild(this)),this.values.forEach((n,i)=>this.bindToMotionValue(i,n)),bn.current||us(),this.shouldReduceMotion=this.reducedMotionConfig==="never"?!1:this.reducedMotionConfig==="always"?!0:Ft.current,this.parent?.addChild(this),this.update(this.props,this.presenceContext)}unmount(){this.projection&&this.projection.unmount(),$(this.notifyUpdate),$(this.render),this.valueSubscriptions.forEach(e=>e()),this.valueSubscriptions.clear(),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent?.removeChild(this);for(const e in this.events)this.events[e].clear();for(const e in this.features){const n=this.features[e];n&&(n.unmount(),n.isMounted=!1)}this.current=null}addChild(e){this.children.add(e),this.enteringChildren??(this.enteringChildren=new Set),this.enteringChildren.add(e)}removeChild(e){this.children.delete(e),this.enteringChildren&&this.enteringChildren.delete(e)}bindToMotionValue(e,n){this.valueSubscriptions.has(e)&&this.valueSubscriptions.get(e)();const i=Q.has(e);i&&this.onBindTransform&&this.onBindTransform();const o=n.on("change",s=>{this.latestValues[e]=s,this.props.onUpdate&&S.preRender(this.notifyUpdate),i&&this.projection&&(this.projection.isTransformDirty=!0),this.scheduleRender()});let r;window.MotionCheckAppearSync&&(r=window.MotionCheckAppearSync(this,e,n)),this.valueSubscriptions.set(e,()=>{o(),r&&r(),n.owner&&n.stop()})}sortNodePosition(e){return!this.current||!this.sortInstanceNodePosition||this.type!==e.type?0:this.sortInstanceNodePosition(this.current,e.current)}updateFeatures(){let e="animation";for(e in J){const n=J[e];if(!n)continue;const{isEnabled:i,Feature:o}=n;if(!this.features[e]&&o&&i(this.props)&&(this.features[e]=new o(this)),this.features[e]){const r=this.features[e];r.isMounted?r.update():(r.mount(),r.isMounted=!0)}}}triggerBuild(){this.build(this.renderState,this.latestValues,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):T()}getStaticValue(e){return this.latestValues[e]}setStaticValue(e,n){this.latestValues[e]=n}update(e,n){(e.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=e,this.prevPresenceContext=this.presenceContext,this.presenceContext=n;for(let i=0;i<Se.length;i++){const o=Se[i];this.propEventSubscriptions[o]&&(this.propEventSubscriptions[o](),delete this.propEventSubscriptions[o]);const r="on"+o,s=e[r];s&&(this.propEventSubscriptions[o]=this.on(o,s))}this.prevMotionValues=hs(this,this.scrapeMotionValuesFromProps(e,this.prevProps,this),this.prevMotionValues),this.handleChildMotionValue&&this.handleChildMotionValue()}getProps(){return this.props}getVariant(e){return this.props.variants?this.props.variants[e]:void 0}getDefaultTransition(){return this.props.transition}getTransformPagePoint(){return this.props.transformPagePoint}getClosestVariantNode(){return this.isVariantNode?this:this.parent?this.parent.getClosestVariantNode():void 0}addVariantChild(e){const n=this.getClosestVariantNode();if(n)return n.variantChildren&&n.variantChildren.add(e),()=>n.variantChildren.delete(e)}addValue(e,n){const i=this.values.get(e);n!==i&&(i&&this.removeValue(e),this.bindToMotionValue(e,n),this.values.set(e,n),this.latestValues[e]=n.get())}removeValue(e){this.values.delete(e);const n=this.valueSubscriptions.get(e);n&&(n(),this.valueSubscriptions.delete(e)),delete this.latestValues[e],this.removeValueFromRenderState(e,this.renderState)}hasValue(e){return this.values.has(e)}getValue(e,n){if(this.props.values&&this.props.values[e])return this.props.values[e];let i=this.values.get(e);return i===void 0&&n!==void 0&&(i=Z(n===null?void 0:n,{owner:this}),this.addValue(e,i)),i}readValue(e,n){let i=this.latestValues[e]!==void 0||!this.current?this.latestValues[e]:this.getBaseTargetFromProps(this.props,e)??this.readValueFromInstance(this.current,e,this.options);return i!=null&&(typeof i=="string"&&(oi(i)||ri(i))?i=parseFloat(i):!ai(i)&&jt.test(n)&&(i=li(e,n)),this.setBaseTarget(e,D(i)?i.get():i)),D(i)?i.get():i}setBaseTarget(e,n){this.baseTarget[e]=n}getBaseTarget(e){const{initial:n}=this.props;let i;if(typeof n=="string"||typeof n=="object"){const r=ie(this.props,n,this.presenceContext?.custom);r&&(i=r[e])}if(n&&i!==void 0)return i;const o=this.getBaseTargetFromProps(this.props,e);return o!==void 0&&!D(o)?o:this.initialValues[e]!==void 0&&i===void 0?void 0:this.baseTarget[e]}on(e,n){return this.events[e]||(this.events[e]=new an),this.events[e].add(n)}notify(e,...n){this.events[e]&&this.events[e].notify(...n)}scheduleRenderMicrotask(){Kt.render(this.render)}}class jn extends fs{constructor(){super(...arguments),this.KeyframeResolver=ui}sortInstanceNodePosition(e,n){return e.compareDocumentPosition(n)&2?1:-1}getBaseTargetFromProps(e,n){return e.style?e.style[n]:void 0}removeValueFromRenderState(e,{vars:n,style:i}){delete n[e],delete i[e]}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);const{children:e}=this.props;D(e)&&(this.childSubscription=e.on("change",n=>{this.current&&(this.current.textContent=`${n}`)}))}}function Bn(t,{style:e,vars:n},i,o){const r=t.style;let s;for(s in e)r[s]=e[s];o?.applyProjectionStyles(r,i);for(s in n)r.setProperty(s,n[s])}function ds(t){return window.getComputedStyle(t)}class ms extends jn{constructor(){super(...arguments),this.type="html",this.renderInstance=Bn}readValueFromInstance(e,n){if(Q.has(n))return this.projection?.isProjecting?ci(n):hi(e,n);{const i=ds(e),o=(Ht(n)?i.getPropertyValue(n):i[n])||0;return typeof o=="string"?o.trim():o}}measureInstanceViewportBox(e,{transformPagePoint:n}){return En(e,n)}build(e,n,i){te(e,n,i.transformTemplate)}scrapeMotionValuesFromProps(e,n,i){return se(e,n,i)}}const In=new Set(["baseFrequency","diffuseConstant","kernelMatrix","kernelUnitLength","keySplines","keyTimes","limitingConeAngle","markerHeight","markerWidth","numOctaves","targetX","targetY","surfaceScale","specularConstant","specularExponent","stdDeviation","tableValues","viewBox","gradientTransform","pathLength","startOffset","textLength","lengthAdjust"]);function ps(t,e,n,i){Bn(t,e,void 0,i);for(const o in e.attrs)t.setAttribute(In.has(o)?o:oe(o),e.attrs[o])}class gs extends jn{constructor(){super(...arguments),this.type="svg",this.isSVGTag=!1,this.measureInstanceViewportBox=T}getBaseTargetFromProps(e,n){return e[n]}readValueFromInstance(e,n){if(Q.has(n)){const i=fi(n);return i&&i.default||0}return n=In.has(n)?n:oe(n),e.getAttribute(n)}scrapeMotionValuesFromProps(e,n,i){return Cn(e,n,i)}build(e,n,i){Pn(e,n,this.isSVGTag,i.transformTemplate,i.style)}renderInstance(e,n,i,o){ps(e,n,i,o)}mount(e){this.isSVGTag=Sn(e.tagName),super.mount(e)}}const ys=(t,e)=>ne(t)?new gs(e):new ms(e,{allowProjection:t!==p.Fragment});function q(t,e,n){const i=t.getProps();return ie(i,e,n!==void 0?n:i.custom,t)}const Ot=t=>Array.isArray(t);function vs(t,e,n){t.hasValue(e)?t.getValue(e).set(n):t.addValue(e,Z(n))}function xs(t){return Ot(t)?t[t.length-1]||0:t}function Ps(t,e){const n=q(t,e);let{transitionEnd:i={},transition:o={},...r}=n||{};r={...r,...i};for(const s in r){const a=xs(r[s]);vs(t,s,a)}}function Ts(t){return!!(D(t)&&t.add)}function Ut(t,e){const n=t.getValue("willChange");if(Ts(n))return n.add(e);if(!n&&pt.WillChange){const i=new pt.WillChange("auto");t.addValue("willChange",i),i.add(e)}}function kn(t){return t.props[An]}const Ss=t=>t!==null;function Vs(t,{repeat:e,repeatType:n="loop"},i){const o=t.filter(Ss),r=e&&n!=="loop"&&e%2===1?0:o.length-1;return o[r]}const Cs={type:"spring",stiffness:500,damping:25,restSpeed:10},As=t=>({type:"spring",stiffness:550,damping:t===0?2*Math.sqrt(550):30,restSpeed:10}),ws={type:"keyframes",duration:.8},Ds={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},Ms=(t,{keyframes:e})=>e.length>2?ws:Q.has(t)?t.startsWith("scale")?As(e[1]):Cs:Ds;function Rs({when:t,delay:e,delayChildren:n,staggerChildren:i,staggerDirection:o,repeat:r,repeatType:s,repeatDelay:a,from:l,elapsed:c,...u}){return!!Object.keys(u).length}const re=(t,e,n,i={},o,r)=>s=>{const a=_t(i,t)||{},l=a.delay||i.delay||0;let{elapsed:c=0}=i;c=c-ft(l);const u={keyframes:Array.isArray(n)?n:[null,n],ease:"easeOut",velocity:e.getVelocity(),...a,delay:-c,onUpdate:f=>{e.set(f),a.onUpdate&&a.onUpdate(f)},onComplete:()=>{s(),a.onComplete&&a.onComplete()},name:t,motionValue:e,element:r?void 0:o};Rs(a)||Object.assign(u,Ms(t,u)),u.duration&&(u.duration=ft(u.duration)),u.repeatDelay&&(u.repeatDelay=ft(u.repeatDelay)),u.from!==void 0&&(u.keyframes[0]=u.from);let h=!1;if((u.type===!1||u.duration===0&&!u.repeatDelay)&&(ce(u),u.delay===0&&(h=!0)),(pt.instantAnimations||pt.skipAnimations)&&(h=!0,ce(u),u.delay=0),u.allowFlatten=!a.type&&!a.ease,h&&!r&&e.get()!==void 0){const f=Vs(u.keyframes,a);if(f!==void 0){S.update(()=>{u.onUpdate(f),u.onComplete()});return}}return a.isSync?new di(u):new mi(u)};function Ls({protectedKeys:t,needsAnimating:e},n){const i=t.hasOwnProperty(n)&&e[n]!==!0;return e[n]=!1,i}function Fn(t,e,{delay:n=0,transitionOverride:i,type:o}={}){let{transition:r=t.getDefaultTransition(),transitionEnd:s,...a}=e;i&&(r=i);const l=[],c=o&&t.animationState&&t.animationState.getState()[o];for(const u in a){const h=t.getValue(u,t.latestValues[u]??null),f=a[u];if(f===void 0||c&&Ls(c,u))continue;const d={delay:n,..._t(r||{},u)},m=h.get();if(m!==void 0&&!h.isAnimating&&!Array.isArray(f)&&f===m&&!d.velocity)continue;let x=!1;if(window.MotionHandoffAnimation){const y=kn(t);if(y){const g=window.MotionHandoffAnimation(y,u,S);g!==null&&(d.startTime=g,x=!0)}}Ut(t,u),h.start(re(u,h,f,t.shouldReduceMotion&&pi.has(u)?{type:!1}:d,t,x));const P=h.animation;P&&l.push(P)}return s&&Promise.all(l).then(()=>{S.update(()=>{s&&Ps(t,s)})}),l}function On(t,e,n,i=0,o=1){const r=Array.from(t).sort((c,u)=>c.sortNodePosition(u)).indexOf(e),s=t.size,a=(s-1)*i;return typeof n=="function"?n(r,s):o===1?r*i:a-r*i}function Nt(t,e,n={}){const i=q(t,e,n.type==="exit"?t.presenceContext?.custom:void 0);let{transition:o=t.getDefaultTransition()||{}}=i||{};n.transitionOverride&&(o=n.transitionOverride);const r=i?()=>Promise.all(Fn(t,i,n)):()=>Promise.resolve(),s=t.variantChildren&&t.variantChildren.size?(l=0)=>{const{delayChildren:c=0,staggerChildren:u,staggerDirection:h}=o;return Es(t,e,l,c,u,h,n)}:()=>Promise.resolve(),{when:a}=o;if(a){const[l,c]=a==="beforeChildren"?[r,s]:[s,r];return l().then(()=>c())}else return Promise.all([r(),s(n.delay)])}function Es(t,e,n=0,i=0,o=0,r=1,s){const a=[];for(const l of t.variantChildren)l.notify("AnimationStart",e),a.push(Nt(l,e,{...s,delay:n+(typeof i=="function"?0:i)+On(t.variantChildren,l,i,o,r)}).then(()=>l.notify("AnimationComplete",e)));return Promise.all(a)}function bs(t,e,n={}){t.notify("AnimationStart",e);let i;if(Array.isArray(e)){const o=e.map(r=>Nt(t,r,n));i=Promise.all(o)}else if(typeof e=="string")i=Nt(t,e,n);else{const o=typeof e=="function"?q(t,e,n.custom):e;i=Promise.all(Fn(t,o,n))}return i.then(()=>{t.notify("AnimationComplete",e)})}function Un(t,e){if(!Array.isArray(e))return!1;const n=e.length;if(n!==t.length)return!1;for(let i=0;i<n;i++)if(e[i]!==t[i])return!1;return!0}const js=Qt.length;function Nn(t){if(!t)return;if(!t.isControllingVariants){const n=t.parent?Nn(t.parent)||{}:{};return t.props.initial!==void 0&&(n.initial=t.props.initial),n}const e={};for(let n=0;n<js;n++){const i=Qt[n],o=t.props[i];(rt(o)||o===!1)&&(e[i]=o)}return e}const Bs=[...Jt].reverse(),Is=Jt.length;function ks(t){return e=>Promise.all(e.map(({animation:n,options:i})=>bs(t,n,i)))}function Fs(t){let e=ks(t),n=Ve(),i=!0;const o=l=>(c,u)=>{const h=q(t,u,l==="exit"?t.presenceContext?.custom:void 0);if(h){const{transition:f,transitionEnd:d,...m}=h;c={...c,...m,...d}}return c};function r(l){e=l(t)}function s(l){const{props:c}=t,u=Nn(t.parent)||{},h=[],f=new Set;let d={},m=1/0;for(let P=0;P<Is;P++){const y=Bs[P],g=n[y],v=c[y]!==void 0?c[y]:u[y],C=rt(v),E=y===l?g.isActive:null;E===!1&&(m=P);let M=v===u[y]&&v!==c[y]&&C;if(M&&i&&t.manuallyAnimateOnMount&&(M=!1),g.protectedKeys={...d},!g.isActive&&E===null||!v&&!g.prevProp||Tt(v)||typeof v=="boolean")continue;const A=Os(g.prevProp,v);let I=A||y===l&&g.isActive&&!M&&C||P>m&&C,H=!1;const tt=Array.isArray(v)?v:[v];let O=tt.reduce(o(y),{});E===!1&&(O={});const{prevResolvedValues:ae={}}=g,ei={...ae,...O},le=w=>{I=!0,f.has(w)&&(H=!0,f.delete(w)),g.needsAnimating[w]=!0;const b=t.getValue(w);b&&(b.liveStyle=!1)};for(const w in ei){const b=O[w],U=ae[w];if(d.hasOwnProperty(w))continue;let G=!1;Ot(b)&&Ot(U)?G=!Un(b,U):G=b!==U,G?b!=null?le(w):f.add(w):b!==void 0&&f.has(w)?le(w):g.protectedKeys[w]=!0}g.prevProp=v,g.prevResolvedValues=O,g.isActive&&(d={...d,...O}),i&&t.blockInitialAnimation&&(I=!1);const ue=M&&A;I&&(!ue||H)&&h.push(...tt.map(w=>{const b={type:y};if(typeof w=="string"&&i&&!ue&&t.manuallyAnimateOnMount&&t.parent){const{parent:U}=t,G=q(U,w);if(U.enteringChildren&&G){const{delayChildren:ni}=G.transition||{};b.delay=On(U.enteringChildren,t,ni)}}return{animation:w,options:b}}))}if(f.size){const P={};if(typeof c.initial!="boolean"){const y=q(t,Array.isArray(c.initial)?c.initial[0]:c.initial);y&&y.transition&&(P.transition=y.transition)}f.forEach(y=>{const g=t.getBaseTarget(y),v=t.getValue(y);v&&(v.liveStyle=!0),P[y]=g??null}),h.push({animation:P})}let x=!!h.length;return i&&(c.initial===!1||c.initial===c.animate)&&!t.manuallyAnimateOnMount&&(x=!1),i=!1,x?e(h):Promise.resolve()}function a(l,c){if(n[l].isActive===c)return Promise.resolve();t.variantChildren?.forEach(h=>h.animationState?.setActive(l,c)),n[l].isActive=c;const u=s(l);for(const h in n)n[h].protectedKeys={};return u}return{animateChanges:s,setActive:a,setAnimateFunction:r,getState:()=>n,reset:()=>{n=Ve(),i=!0}}}function Os(t,e){return typeof e=="string"?e!==t:Array.isArray(e)?!Un(e,t):!1}function N(t=!1){return{isActive:t,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function Ve(){return{animate:N(!0),whileInView:N(),whileHover:N(),whileTap:N(),whileDrag:N(),whileFocus:N(),exit:N()}}class F{constructor(e){this.isMounted=!1,this.node=e}update(){}}class Us extends F{constructor(e){super(e),e.animationState||(e.animationState=Fs(e))}updateAnimationControlsSubscription(){const{animate:e}=this.node.getProps();Tt(e)&&(this.unmountControls=e.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){const{animate:e}=this.node.getProps(),{animate:n}=this.node.prevProps||{};e!==n&&this.updateAnimationControlsSubscription()}unmount(){this.node.animationState.reset(),this.unmountControls?.()}}let Ns=0;class Ws extends F{constructor(){super(...arguments),this.id=Ns++}update(){if(!this.node.presenceContext)return;const{isPresent:e,onExitComplete:n}=this.node.presenceContext,{isPresent:i}=this.node.prevPresenceContext||{};if(!this.node.animationState||e===i)return;const o=this.node.animationState.setActive("exit",!e);n&&!e&&o.then(()=>{n(this.id)})}mount(){const{register:e,onExitComplete:n}=this.node.presenceContext||{};n&&n(this.id),e&&(this.unmount=e(this.id))}unmount(){}}const $s={animation:{Feature:Us},exit:{Feature:Ws}};function lt(t,e,n,i={passive:!0}){return t.addEventListener(e,n,i),()=>t.removeEventListener(e,n)}function ut(t){return{point:{x:t.pageX,y:t.pageY}}}const Hs=t=>e=>ln(e)&&t(e,ut(e));function it(t,e,n,i){return lt(t,e,Hs(n),i)}const Wn=1e-4,Gs=1-Wn,zs=1+Wn,$n=.01,Ks=0-$n,_s=0+$n;function R(t){return t.max-t.min}function Xs(t,e,n){return Math.abs(t-e)<=n}function Ce(t,e,n,i=.5){t.origin=i,t.originPoint=V(e.min,e.max,t.origin),t.scale=R(n)/R(e),t.translate=V(n.min,n.max,t.origin)-t.originPoint,(t.scale>=Gs&&t.scale<=zs||isNaN(t.scale))&&(t.scale=1),(t.translate>=Ks&&t.translate<=_s||isNaN(t.translate))&&(t.translate=0)}function st(t,e,n,i){Ce(t.x,e.x,n.x,i?i.originX:void 0),Ce(t.y,e.y,n.y,i?i.originY:void 0)}function Ae(t,e,n){t.min=n.min+e.min,t.max=t.min+R(e)}function Ys(t,e,n){Ae(t.x,e.x,n.x),Ae(t.y,e.y,n.y)}function we(t,e,n){t.min=e.min-n.min,t.max=t.min+R(e)}function ot(t,e,n){we(t.x,e.x,n.x),we(t.y,e.y,n.y)}function B(t){return[t("x"),t("y")]}const Hn=({current:t})=>t?t.ownerDocument.defaultView:null,De=(t,e)=>Math.abs(t-e);function qs(t,e){const n=De(t.x,e.x),i=De(t.y,e.y);return Math.sqrt(n**2+i**2)}class Gn{constructor(e,n,{transformPagePoint:i,contextWindow:o=window,dragSnapToOrigin:r=!1,distanceThreshold:s=3}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.handlers={},this.contextWindow=window,this.updatePoint=()=>{if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const f=Dt(this.lastMoveEventInfo,this.history),d=this.startEvent!==null,m=qs(f.offset,{x:0,y:0})>=this.distanceThreshold;if(!d&&!m)return;const{point:x}=f,{timestamp:P}=L;this.history.push({...x,timestamp:P});const{onStart:y,onMove:g}=this.handlers;d||(y&&y(this.lastMoveEvent,f),this.startEvent=this.lastMoveEvent),g&&g(this.lastMoveEvent,f)},this.handlePointerMove=(f,d)=>{this.lastMoveEvent=f,this.lastMoveEventInfo=wt(d,this.transformPagePoint),S.update(this.updatePoint,!0)},this.handlePointerUp=(f,d)=>{this.end();const{onEnd:m,onSessionEnd:x,resumeAnimation:P}=this.handlers;if(this.dragSnapToOrigin&&P&&P(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const y=Dt(f.type==="pointercancel"?this.lastMoveEventInfo:wt(d,this.transformPagePoint),this.history);this.startEvent&&m&&m(f,y),x&&x(f,y)},!ln(e))return;this.dragSnapToOrigin=r,this.handlers=n,this.transformPagePoint=i,this.distanceThreshold=s,this.contextWindow=o||window;const a=ut(e),l=wt(a,this.transformPagePoint),{point:c}=l,{timestamp:u}=L;this.history=[{...c,timestamp:u}];const{onSessionStart:h}=n;h&&h(e,Dt(l,this.history)),this.removeListeners=un(it(this.contextWindow,"pointermove",this.handlePointerMove),it(this.contextWindow,"pointerup",this.handlePointerUp),it(this.contextWindow,"pointercancel",this.handlePointerUp))}updateHandlers(e){this.handlers=e}end(){this.removeListeners&&this.removeListeners(),$(this.updatePoint)}}function wt(t,e){return e?{point:e(t.point)}:t}function Me(t,e){return{x:t.x-e.x,y:t.y-e.y}}function Dt({point:t},e){return{point:t,delta:Me(t,zn(e)),offset:Me(t,Zs(e)),velocity:Js(e,.1)}}function Zs(t){return t[0]}function zn(t){return t[t.length-1]}function Js(t,e){if(t.length<2)return{x:0,y:0};let n=t.length-1,i=null;const o=zn(t);for(;n>=0&&(i=t[n],!(o.timestamp-i.timestamp>ft(e)));)n--;if(!i)return{x:0,y:0};const r=gi(o.timestamp-i.timestamp);if(r===0)return{x:0,y:0};const s={x:(o.x-i.x)/r,y:(o.y-i.y)/r};return s.x===1/0&&(s.x=0),s.y===1/0&&(s.y=0),s}function Qs(t,{min:e,max:n},i){return e!==void 0&&t<e?t=i?V(e,t,i.min):Math.max(t,e):n!==void 0&&t>n&&(t=i?V(n,t,i.max):Math.min(t,n)),t}function Re(t,e,n){return{min:e!==void 0?t.min+e:void 0,max:n!==void 0?t.max+n-(t.max-t.min):void 0}}function to(t,{top:e,left:n,bottom:i,right:o}){return{x:Re(t.x,n,o),y:Re(t.y,e,i)}}function Le(t,e){let n=e.min-t.min,i=e.max-t.max;return e.max-e.min<t.max-t.min&&([n,i]=[i,n]),{min:n,max:i}}function eo(t,e){return{x:Le(t.x,e.x),y:Le(t.y,e.y)}}function no(t,e){let n=.5;const i=R(t),o=R(e);return o>i?n=Bt(e.min,e.max-i,t.min):i>o&&(n=Bt(t.min,t.max-o,e.min)),cn(0,1,n)}function io(t,e){const n={};return e.min!==void 0&&(n.min=e.min-t.min),e.max!==void 0&&(n.max=e.max-t.min),n}const Wt=.35;function so(t=Wt){return t===!1?t=0:t===!0&&(t=Wt),{x:Ee(t,"left","right"),y:Ee(t,"top","bottom")}}function Ee(t,e,n){return{min:be(t,e),max:be(t,n)}}function be(t,e){return typeof t=="number"?t:t[e]||0}const oo=new WeakMap;class ro{constructor(e){this.openDragLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=T(),this.latestPointerEvent=null,this.latestPanInfo=null,this.visualElement=e}start(e,{snapToCursor:n=!1,distanceThreshold:i}={}){const{presenceContext:o}=this.visualElement;if(o&&o.isPresent===!1)return;const r=h=>{const{dragSnapToOrigin:f}=this.getProps();f?this.pauseAnimation():this.stopAnimation(),n&&this.snapToCursor(ut(h).point)},s=(h,f)=>{const{drag:d,dragPropagation:m,onDragStart:x}=this.getProps();if(d&&!m&&(this.openDragLock&&this.openDragLock(),this.openDragLock=yi(d),!this.openDragLock))return;this.latestPointerEvent=h,this.latestPanInfo=f,this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),B(y=>{let g=this.getAxisMotionValue(y).get()||0;if(gt.test(g)){const{projection:v}=this.visualElement;if(v&&v.layout){const C=v.layout.layoutBox[y];C&&(g=R(C)*(parseFloat(g)/100))}}this.originPoint[y]=g}),x&&S.postRender(()=>x(h,f)),Ut(this.visualElement,"transform");const{animationState:P}=this.visualElement;P&&P.setActive("whileDrag",!0)},a=(h,f)=>{this.latestPointerEvent=h,this.latestPanInfo=f;const{dragPropagation:d,dragDirectionLock:m,onDirectionLock:x,onDrag:P}=this.getProps();if(!d&&!this.openDragLock)return;const{offset:y}=f;if(m&&this.currentDirection===null){this.currentDirection=ao(y),this.currentDirection!==null&&x&&x(this.currentDirection);return}this.updateAxis("x",f.point,y),this.updateAxis("y",f.point,y),this.visualElement.render(),P&&P(h,f)},l=(h,f)=>{this.latestPointerEvent=h,this.latestPanInfo=f,this.stop(h,f),this.latestPointerEvent=null,this.latestPanInfo=null},c=()=>B(h=>this.getAnimationState(h)==="paused"&&this.getAxisMotionValue(h).animation?.play()),{dragSnapToOrigin:u}=this.getProps();this.panSession=new Gn(e,{onSessionStart:r,onStart:s,onMove:a,onSessionEnd:l,resumeAnimation:c},{transformPagePoint:this.visualElement.getTransformPagePoint(),dragSnapToOrigin:u,distanceThreshold:i,contextWindow:Hn(this.visualElement)})}stop(e,n){const i=e||this.latestPointerEvent,o=n||this.latestPanInfo,r=this.isDragging;if(this.cancel(),!r||!o||!i)return;const{velocity:s}=o;this.startAnimation(s);const{onDragEnd:a}=this.getProps();a&&S.postRender(()=>a(i,o))}cancel(){this.isDragging=!1;const{projection:e,animationState:n}=this.visualElement;e&&(e.isAnimationBlocked=!1),this.panSession&&this.panSession.end(),this.panSession=void 0;const{dragPropagation:i}=this.getProps();!i&&this.openDragLock&&(this.openDragLock(),this.openDragLock=null),n&&n.setActive("whileDrag",!1)}updateAxis(e,n,i){const{drag:o}=this.getProps();if(!i||!ht(e,o,this.currentDirection))return;const r=this.getAxisMotionValue(e);let s=this.originPoint[e]+i[e];this.constraints&&this.constraints[e]&&(s=Qs(s,this.constraints[e],this.elastic[e])),r.set(s)}resolveConstraints(){const{dragConstraints:e,dragElastic:n}=this.getProps(),i=this.visualElement.projection&&!this.visualElement.projection.layout?this.visualElement.projection.measure(!1):this.visualElement.projection?.layout,o=this.constraints;e&&z(e)?this.constraints||(this.constraints=this.resolveRefConstraints()):e&&i?this.constraints=to(i.layoutBox,e):this.constraints=!1,this.elastic=so(n),o!==this.constraints&&i&&this.constraints&&!this.hasMutatedConstraints&&B(r=>{this.constraints!==!1&&this.getAxisMotionValue(r)&&(this.constraints[r]=io(i.layoutBox[r],this.constraints[r]))})}resolveRefConstraints(){const{dragConstraints:e,onMeasureDragConstraints:n}=this.getProps();if(!e||!z(e))return!1;const i=e.current,{projection:o}=this.visualElement;if(!o||!o.layout)return!1;const r=ls(i,o.root,this.visualElement.getTransformPagePoint());let s=eo(o.layout.layoutBox,r);if(n){const a=n(os(s));this.hasMutatedConstraints=!!a,a&&(s=Mn(a))}return s}startAnimation(e){const{drag:n,dragMomentum:i,dragElastic:o,dragTransition:r,dragSnapToOrigin:s,onDragTransitionEnd:a}=this.getProps(),l=this.constraints||{},c=B(u=>{if(!ht(u,n,this.currentDirection))return;let h=l&&l[u]||{};s&&(h={min:0,max:0});const f=o?200:1e6,d=o?40:1e7,m={type:"inertia",velocity:i?e[u]:0,bounceStiffness:f,bounceDamping:d,timeConstant:750,restDelta:1,restSpeed:10,...r,...h};return this.startAxisValueAnimation(u,m)});return Promise.all(c).then(a)}startAxisValueAnimation(e,n){const i=this.getAxisMotionValue(e);return Ut(this.visualElement,e),i.start(re(e,i,0,n,this.visualElement,!1))}stopAnimation(){B(e=>this.getAxisMotionValue(e).stop())}pauseAnimation(){B(e=>this.getAxisMotionValue(e).animation?.pause())}getAnimationState(e){return this.getAxisMotionValue(e).animation?.state}getAxisMotionValue(e){const n=`_drag${e.toUpperCase()}`,i=this.visualElement.getProps(),o=i[n];return o||this.visualElement.getValue(e,(i.initial?i.initial[e]:void 0)||0)}snapToCursor(e){B(n=>{const{drag:i}=this.getProps();if(!ht(n,i,this.currentDirection))return;const{projection:o}=this.visualElement,r=this.getAxisMotionValue(n);if(o&&o.layout){const{min:s,max:a}=o.layout.layoutBox[n];r.set(e[n]-V(s,a,.5))}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:e,dragConstraints:n}=this.getProps(),{projection:i}=this.visualElement;if(!z(n)||!i||!this.constraints)return;this.stopAnimation();const o={x:0,y:0};B(s=>{const a=this.getAxisMotionValue(s);if(a&&this.constraints!==!1){const l=a.get();o[s]=no({min:l,max:l},this.constraints[s])}});const{transformTemplate:r}=this.visualElement.getProps();this.visualElement.current.style.transform=r?r({},""):"none",i.root&&i.root.updateScroll(),i.updateLayout(),this.resolveConstraints(),B(s=>{if(!ht(s,e,null))return;const a=this.getAxisMotionValue(s),{min:l,max:c}=this.constraints[s];a.set(V(l,c,o[s]))})}addListeners(){if(!this.visualElement.current)return;oo.set(this.visualElement,this);const e=this.visualElement.current,n=it(e,"pointerdown",l=>{const{drag:c,dragListener:u=!0}=this.getProps();c&&u&&this.start(l)}),i=()=>{const{dragConstraints:l}=this.getProps();z(l)&&l.current&&(this.constraints=this.resolveRefConstraints())},{projection:o}=this.visualElement,r=o.addEventListener("measure",i);o&&!o.layout&&(o.root&&o.root.updateScroll(),o.updateLayout()),S.read(i);const s=lt(window,"resize",()=>this.scalePositionWithinConstraints()),a=o.addEventListener("didUpdate",({delta:l,hasLayoutChanged:c})=>{this.isDragging&&c&&(B(u=>{const h=this.getAxisMotionValue(u);h&&(this.originPoint[u]+=l[u].translate,h.set(h.get()+l[u].translate))}),this.visualElement.render())});return()=>{s(),n(),r(),a&&a()}}getProps(){const e=this.visualElement.getProps(),{drag:n=!1,dragDirectionLock:i=!1,dragPropagation:o=!1,dragConstraints:r=!1,dragElastic:s=Wt,dragMomentum:a=!0}=e;return{...e,drag:n,dragDirectionLock:i,dragPropagation:o,dragConstraints:r,dragElastic:s,dragMomentum:a}}}function ht(t,e,n){return(e===!0||e===t)&&(n===null||n===t)}function ao(t,e=10){let n=null;return Math.abs(t.y)>e?n="y":Math.abs(t.x)>e&&(n="x"),n}class lo extends F{constructor(e){super(e),this.removeGroupControls=Y,this.removeListeners=Y,this.controls=new ro(e)}mount(){const{dragControls:e}=this.node.getProps();e&&(this.removeGroupControls=e.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||Y}unmount(){this.removeGroupControls(),this.removeListeners()}}const je=t=>(e,n)=>{t&&S.postRender(()=>t(e,n))};class uo extends F{constructor(){super(...arguments),this.removePointerDownListener=Y}onPointerDown(e){this.session=new Gn(e,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint(),contextWindow:Hn(this.node)})}createPanHandlers(){const{onPanSessionStart:e,onPanStart:n,onPan:i,onPanEnd:o}=this.node.getProps();return{onSessionStart:je(e),onStart:je(n),onMove:i,onEnd:(r,s)=>{delete this.session,o&&S.postRender(()=>o(r,s))}}}mount(){this.removePointerDownListener=it(this.node.current,"pointerdown",e=>this.onPointerDown(e))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}}const mt={hasAnimatedSinceResize:!0,hasEverUpdated:!1};function Be(t,e){return e.max===e.min?0:t/(e.max-e.min)*100}const et={correct:(t,e)=>{if(!e.target)return t;if(typeof t=="string")if(nt.test(t))t=parseFloat(t);else return t;const n=Be(t,e.target.x),i=Be(t,e.target.y);return`${n}% ${i}%`}},co={correct:(t,{treeScale:e,projectionDelta:n})=>{const i=t,o=jt.parse(t);if(o.length>5)return i;const r=jt.createTransformer(t),s=typeof o[0]!="number"?1:0,a=n.x.scale*e.x,l=n.y.scale*e.y;o[0+s]/=a,o[1+s]/=l;const c=V(a,l,.5);return typeof o[2+s]=="number"&&(o[2+s]/=c),typeof o[3+s]=="number"&&(o[3+s]/=c),r(o)}};let Mt=!1;class ho extends p.Component{componentDidMount(){const{visualElement:e,layoutGroup:n,switchLayoutGroup:i,layoutId:o}=this.props,{projection:r}=e;ji(fo),r&&(n.group&&n.group.add(r),i&&i.register&&o&&i.register(r),Mt&&r.root.didUpdate(),r.addEventListener("animationComplete",()=>{this.safeToRemove()}),r.setOptions({...r.options,onExitComplete:()=>this.safeToRemove()})),mt.hasEverUpdated=!0}getSnapshotBeforeUpdate(e){const{layoutDependency:n,visualElement:i,drag:o,isPresent:r}=this.props,{projection:s}=i;return s&&(s.isPresent=r,Mt=!0,o||e.layoutDependency!==n||n===void 0||e.isPresent!==r?s.willUpdate():this.safeToRemove(),e.isPresent!==r&&(r?s.promote():s.relegate()||S.postRender(()=>{const a=s.getStack();(!a||!a.members.length)&&this.safeToRemove()}))),null}componentDidUpdate(){const{projection:e}=this.props.visualElement;e&&(e.root.didUpdate(),Kt.postRender(()=>{!e.currentAnimation&&e.isLead()&&this.safeToRemove()}))}componentWillUnmount(){const{visualElement:e,layoutGroup:n,switchLayoutGroup:i}=this.props,{projection:o}=e;Mt=!0,o&&(o.scheduleCheckAfterUnmount(),n&&n.group&&n.group.remove(o),i&&i.deregister&&i.deregister(o))}safeToRemove(){const{safeToRemove:e}=this.props;e&&e()}render(){return null}}function Kn(t){const[e,n]=mn(),i=p.useContext(Xt);return k.jsx(ho,{...t,layoutGroup:i,switchLayoutGroup:p.useContext(wn),isPresent:e,safeToRemove:n})}const fo={borderRadius:{...et,applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]},borderTopLeftRadius:et,borderTopRightRadius:et,borderBottomLeftRadius:et,borderBottomRightRadius:et,boxShadow:co};function mo(t,e,n){const i=D(t)?t:Z(t);return i.start(re("",i,e,n)),i.animation}const po=(t,e)=>t.depth-e.depth;class go{constructor(){this.children=[],this.isDirty=!1}add(e){hn(this.children,e),this.isDirty=!0}remove(e){fn(this.children,e),this.isDirty=!0}forEach(e){this.isDirty&&this.children.sort(po),this.isDirty=!1,this.children.forEach(e)}}function yo(t,e){const n=zt.now(),i=({timestamp:o})=>{const r=o-n;r>=e&&($(i),t(r-e))};return S.setup(i,!0),()=>$(i)}const _n=["TopLeft","TopRight","BottomLeft","BottomRight"],vo=_n.length,Ie=t=>typeof t=="string"?parseFloat(t):t,ke=t=>typeof t=="number"||nt.test(t);function xo(t,e,n,i,o,r){o?(t.opacity=V(0,n.opacity??1,Po(i)),t.opacityExit=V(e.opacity??1,0,To(i))):r&&(t.opacity=V(e.opacity??1,n.opacity??1,i));for(let s=0;s<vo;s++){const a=`border${_n[s]}Radius`;let l=Fe(e,a),c=Fe(n,a);if(l===void 0&&c===void 0)continue;l||(l=0),c||(c=0),l===0||c===0||ke(l)===ke(c)?(t[a]=Math.max(V(Ie(l),Ie(c),i),0),(gt.test(c)||gt.test(l))&&(t[a]+="%")):t[a]=c}(e.rotate||n.rotate)&&(t.rotate=V(e.rotate||0,n.rotate||0,i))}function Fe(t,e){return t[e]!==void 0?t[e]:t.borderRadius}const Po=Xn(0,.5,vi),To=Xn(.5,.95,Y);function Xn(t,e,n){return i=>i<t?0:i>e?1:n(Bt(t,e,i))}function Oe(t,e){t.min=e.min,t.max=e.max}function j(t,e){Oe(t.x,e.x),Oe(t.y,e.y)}function Ue(t,e){t.translate=e.translate,t.scale=e.scale,t.originPoint=e.originPoint,t.origin=e.origin}function Ne(t,e,n,i,o){return t-=e,t=vt(t,1/n,i),o!==void 0&&(t=vt(t,1/o,i)),t}function So(t,e=0,n=1,i=.5,o,r=t,s=t){if(gt.test(e)&&(e=parseFloat(e),e=V(s.min,s.max,e/100)-s.min),typeof e!="number")return;let a=V(r.min,r.max,i);t===r&&(a-=e),t.min=Ne(t.min,e,n,a,o),t.max=Ne(t.max,e,n,a,o)}function We(t,e,[n,i,o],r,s){So(t,e[n],e[i],e[o],e.scale,r,s)}const Vo=["x","scaleX","originX"],Co=["y","scaleY","originY"];function $e(t,e,n,i){We(t.x,e,Vo,n?n.x:void 0,i?i.x:void 0),We(t.y,e,Co,n?n.y:void 0,i?i.y:void 0)}function He(t){return t.translate===0&&t.scale===1}function Yn(t){return He(t.x)&&He(t.y)}function Ge(t,e){return t.min===e.min&&t.max===e.max}function Ao(t,e){return Ge(t.x,e.x)&&Ge(t.y,e.y)}function ze(t,e){return Math.round(t.min)===Math.round(e.min)&&Math.round(t.max)===Math.round(e.max)}function qn(t,e){return ze(t.x,e.x)&&ze(t.y,e.y)}function Ke(t){return R(t.x)/R(t.y)}function _e(t,e){return t.translate===e.translate&&t.scale===e.scale&&t.originPoint===e.originPoint}class wo{constructor(){this.members=[]}add(e){hn(this.members,e),e.scheduleRender()}remove(e){if(fn(this.members,e),e===this.prevLead&&(this.prevLead=void 0),e===this.lead){const n=this.members[this.members.length-1];n&&this.promote(n)}}relegate(e){const n=this.members.findIndex(o=>e===o);if(n===0)return!1;let i;for(let o=n;o>=0;o--){const r=this.members[o];if(r.isPresent!==!1){i=r;break}}return i?(this.promote(i),!0):!1}promote(e,n){const i=this.lead;if(e!==i&&(this.prevLead=i,this.lead=e,e.show(),i)){i.instance&&i.scheduleRender(),e.scheduleRender(),e.resumeFrom=i,n&&(e.resumeFrom.preserveOpacity=!0),i.snapshot&&(e.snapshot=i.snapshot,e.snapshot.latestValues=i.animationValues||i.latestValues),e.root&&e.root.isUpdating&&(e.isLayoutDirty=!0);const{crossfade:o}=e.options;o===!1&&i.hide()}}exitAnimationComplete(){this.members.forEach(e=>{const{options:n,resumingFrom:i}=e;n.onExitComplete&&n.onExitComplete(),i&&i.options.onExitComplete&&i.options.onExitComplete()})}scheduleRender(){this.members.forEach(e=>{e.instance&&e.scheduleRender(!1)})}removeLeadSnapshot(){this.lead&&this.lead.snapshot&&(this.lead.snapshot=void 0)}}function Do(t,e,n){let i="";const o=t.x.translate/e.x,r=t.y.translate/e.y,s=n?.z||0;if((o||r||s)&&(i=`translate3d(${o}px, ${r}px, ${s}px) `),(e.x!==1||e.y!==1)&&(i+=`scale(${1/e.x}, ${1/e.y}) `),n){const{transformPerspective:c,rotate:u,rotateX:h,rotateY:f,skewX:d,skewY:m}=n;c&&(i=`perspective(${c}px) ${i}`),u&&(i+=`rotate(${u}deg) `),h&&(i+=`rotateX(${h}deg) `),f&&(i+=`rotateY(${f}deg) `),d&&(i+=`skewX(${d}deg) `),m&&(i+=`skewY(${m}deg) `)}const a=t.x.scale*e.x,l=t.y.scale*e.y;return(a!==1||l!==1)&&(i+=`scale(${a}, ${l})`),i||"none"}const Rt=["","X","Y","Z"],Mo=1e3;let Ro=0;function Lt(t,e,n,i){const{latestValues:o}=e;o[t]&&(n[t]=o[t],e.setStaticValue(t,0),i&&(i[t]=0))}function Zn(t){if(t.hasCheckedOptimisedAppear=!0,t.root===t)return;const{visualElement:e}=t.options;if(!e)return;const n=kn(e);if(window.MotionHasOptimisedAnimation(n,"transform")){const{layout:o,layoutId:r}=t.options;window.MotionCancelOptimisedAnimation(n,"transform",S,!(o||r))}const{parent:i}=t;i&&!i.hasCheckedOptimisedAppear&&Zn(i)}function Jn({attachResizeListener:t,defaultParent:e,measureScroll:n,checkIsScrollRoot:i,resetTransform:o}){return class{constructor(s={},a=e?.()){this.id=Ro++,this.animationId=0,this.animationCommitId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isProjectionDirty=!1,this.isSharedProjectionDirty=!1,this.isTransformDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.hasCheckedOptimisedAppear=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.hasTreeAnimated=!1,this.updateScheduled=!1,this.scheduleUpdate=()=>this.update(),this.projectionUpdateScheduled=!1,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{this.projectionUpdateScheduled=!1,this.nodes.forEach(bo),this.nodes.forEach(ko),this.nodes.forEach(Fo),this.nodes.forEach(jo)},this.resolvedRelativeTargetAt=0,this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=s,this.root=a?a.root||a:this,this.path=a?[...a.path,a]:[],this.parent=a,this.depth=a?a.depth+1:0;for(let l=0;l<this.path.length;l++)this.path[l].shouldResetTransform=!0;this.root===this&&(this.nodes=new go)}addEventListener(s,a){return this.eventHandlers.has(s)||this.eventHandlers.set(s,new an),this.eventHandlers.get(s).add(a)}notifyListeners(s,...a){const l=this.eventHandlers.get(s);l&&l.notify(...a)}hasListeners(s){return this.eventHandlers.has(s)}mount(s){if(this.instance)return;this.isSVG=xi(s)&&!Pi(s),this.instance=s;const{layoutId:a,layout:l,visualElement:c}=this.options;if(c&&!c.current&&c.mount(s),this.root.nodes.add(this),this.parent&&this.parent.children.add(this),this.root.hasTreeAnimated&&(l||a)&&(this.isLayoutDirty=!0),t){let u,h=0;const f=()=>this.root.updateBlockedByResize=!1;S.read(()=>{h=window.innerWidth}),t(s,()=>{const d=window.innerWidth;d!==h&&(h=d,this.root.updateBlockedByResize=!0,u&&u(),u=yo(f,250),mt.hasAnimatedSinceResize&&(mt.hasAnimatedSinceResize=!1,this.nodes.forEach(qe)))})}a&&this.root.registerSharedNode(a,this),this.options.animate!==!1&&c&&(a||l)&&this.addEventListener("didUpdate",({delta:u,hasLayoutChanged:h,hasRelativeLayoutChanged:f,layout:d})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}const m=this.options.transition||c.getDefaultTransition()||$o,{onLayoutAnimationStart:x,onLayoutAnimationComplete:P}=c.getProps(),y=!this.targetLayout||!qn(this.targetLayout,d),g=!h&&f;if(this.options.layoutRoot||this.resumeFrom||g||h&&(y||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0);const v={..._t(m,"layout"),onPlay:x,onComplete:P};(c.shouldReduceMotion||this.options.layoutRoot)&&(v.delay=0,v.type=!1),this.startAnimation(v),this.setAnimationOrigin(u,g)}else h||qe(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=d})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);const s=this.getStack();s&&s.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,this.eventHandlers.clear(),$(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}isTreeAnimationBlocked(){return this.isAnimationBlocked||this.parent&&this.parent.isTreeAnimationBlocked()||!1}startUpdate(){this.isUpdateBlocked()||(this.isUpdating=!0,this.nodes&&this.nodes.forEach(Oo),this.animationId++)}getTransformTemplate(){const{visualElement:s}=this.options;return s&&s.getProps().transformTemplate}willUpdate(s=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked()){this.options.onExitComplete&&this.options.onExitComplete();return}if(window.MotionCancelOptimisedAnimation&&!this.hasCheckedOptimisedAppear&&Zn(this),!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let u=0;u<this.path.length;u++){const h=this.path[u];h.shouldResetTransform=!0,h.updateScroll("snapshot"),h.options.layoutRoot&&h.willUpdate(!1)}const{layoutId:a,layout:l}=this.options;if(a===void 0&&!l)return;const c=this.getTransformTemplate();this.prevTransformTemplateValue=c?c(this.latestValues,""):void 0,this.updateSnapshot(),s&&this.notifyListeners("willUpdate")}update(){if(this.updateScheduled=!1,this.isUpdateBlocked()){this.unblockUpdate(),this.clearAllSnapshots(),this.nodes.forEach(Xe);return}if(this.animationId<=this.animationCommitId){this.nodes.forEach(Ye);return}this.animationCommitId=this.animationId,this.isUpdating?(this.isUpdating=!1,this.nodes.forEach(Io),this.nodes.forEach(Lo),this.nodes.forEach(Eo)):this.nodes.forEach(Ye),this.clearAllSnapshots();const a=zt.now();L.delta=cn(0,1e3/60,a-L.timestamp),L.timestamp=a,L.isProcessing=!0,Vt.update.process(L),Vt.preRender.process(L),Vt.render.process(L),L.isProcessing=!1}didUpdate(){this.updateScheduled||(this.updateScheduled=!0,Kt.read(this.scheduleUpdate))}clearAllSnapshots(){this.nodes.forEach(Bo),this.sharedNodes.forEach(Uo)}scheduleUpdateProjection(){this.projectionUpdateScheduled||(this.projectionUpdateScheduled=!0,S.preRender(this.updateProjection,!1,!0))}scheduleCheckAfterUnmount(){S.postRender(()=>{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){this.snapshot||!this.instance||(this.snapshot=this.measure(),this.snapshot&&!R(this.snapshot.measuredBox.x)&&!R(this.snapshot.measuredBox.y)&&(this.snapshot=void 0))}updateLayout(){if(!this.instance||(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead())&&!this.isLayoutDirty))return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let l=0;l<this.path.length;l++)this.path[l].updateScroll();const s=this.layout;this.layout=this.measure(!1),this.layoutCorrected=T(),this.isLayoutDirty=!1,this.projectionDelta=void 0,this.notifyListeners("measure",this.layout.layoutBox);const{visualElement:a}=this.options;a&&a.notify("LayoutMeasure",this.layout.layoutBox,s?s.layoutBox:void 0)}updateScroll(s="measure"){let a=!!(this.options.layoutScroll&&this.instance);if(this.scroll&&this.scroll.animationId===this.root.animationId&&this.scroll.phase===s&&(a=!1),a&&this.instance){const l=i(this.instance);this.scroll={animationId:this.root.animationId,phase:s,isRoot:l,offset:n(this.instance),wasRoot:this.scroll?this.scroll.isRoot:l}}}resetTransform(){if(!o)return;const s=this.isLayoutDirty||this.shouldResetTransform||this.options.alwaysMeasureLayout,a=this.projectionDelta&&!Yn(this.projectionDelta),l=this.getTransformTemplate(),c=l?l(this.latestValues,""):void 0,u=c!==this.prevTransformTemplateValue;s&&this.instance&&(a||W(this.latestValues)||u)&&(o(this.instance,c),this.shouldResetTransform=!1,this.scheduleRender())}measure(s=!0){const a=this.measurePageBox();let l=this.removeElementScroll(a);return s&&(l=this.removeTransform(l)),Ho(l),{animationId:this.root.animationId,measuredBox:a,layoutBox:l,latestValues:{},source:this.id}}measurePageBox(){const{visualElement:s}=this.options;if(!s)return T();const a=s.measureViewportBox();if(!(this.scroll?.wasRoot||this.path.some(Go))){const{scroll:c}=this.root;c&&(K(a.x,c.offset.x),K(a.y,c.offset.y))}return a}removeElementScroll(s){const a=T();if(j(a,s),this.scroll?.wasRoot)return a;for(let l=0;l<this.path.length;l++){const c=this.path[l],{scroll:u,options:h}=c;c!==this.root&&u&&h.layoutScroll&&(u.wasRoot&&j(a,s),K(a.x,u.offset.x),K(a.y,u.offset.y))}return a}applyTransform(s,a=!1){const l=T();j(l,s);for(let c=0;c<this.path.length;c++){const u=this.path[c];!a&&u.options.layoutScroll&&u.scroll&&u!==u.root&&_(l,{x:-u.scroll.offset.x,y:-u.scroll.offset.y}),W(u.latestValues)&&_(l,u.latestValues)}return W(this.latestValues)&&_(l,this.latestValues),l}removeTransform(s){const a=T();j(a,s);for(let l=0;l<this.path.length;l++){const c=this.path[l];if(!c.instance||!W(c.latestValues))continue;It(c.latestValues)&&c.updateSnapshot();const u=T(),h=c.measurePageBox();j(u,h),$e(a,c.latestValues,c.snapshot?c.snapshot.layoutBox:void 0,u)}return W(this.latestValues)&&$e(a,this.latestValues),a}setTargetDelta(s){this.targetDelta=s,this.root.scheduleUpdateProjection(),this.isProjectionDirty=!0}setOptions(s){this.options={...this.options,...s,crossfade:s.crossfade!==void 0?s.crossfade:!0}}clearMeasurements(){this.scroll=void 0,this.layout=void 0,this.snapshot=void 0,this.prevTransformTemplateValue=void 0,this.targetDelta=void 0,this.target=void 0,this.isLayoutDirty=!1}forceRelativeParentToResolveTarget(){this.relativeParent&&this.relativeParent.resolvedRelativeTargetAt!==L.timestamp&&this.relativeParent.resolveTargetDelta(!0)}resolveTargetDelta(s=!1){const a=this.getLead();this.isProjectionDirty||(this.isProjectionDirty=a.isProjectionDirty),this.isTransformDirty||(this.isTransformDirty=a.isTransformDirty),this.isSharedProjectionDirty||(this.isSharedProjectionDirty=a.isSharedProjectionDirty);const l=!!this.resumingFrom||this!==a;if(!(s||l&&this.isSharedProjectionDirty||this.isProjectionDirty||this.parent?.isProjectionDirty||this.attemptToResolveRelativeTarget||this.root.updateBlockedByResize))return;const{layout:u,layoutId:h}=this.options;if(!(!this.layout||!(u||h))){if(this.resolvedRelativeTargetAt=L.timestamp,!this.targetDelta&&!this.relativeTarget){const f=this.getClosestProjectingParent();f&&f.layout&&this.animationProgress!==1?(this.relativeParent=f,this.forceRelativeParentToResolveTarget(),this.relativeTarget=T(),this.relativeTargetOrigin=T(),ot(this.relativeTargetOrigin,this.layout.layoutBox,f.layout.layoutBox),j(this.relativeTarget,this.relativeTargetOrigin)):this.relativeParent=this.relativeTarget=void 0}if(!(!this.relativeTarget&&!this.targetDelta)&&(this.target||(this.target=T(),this.targetWithTransforms=T()),this.relativeTarget&&this.relativeTargetOrigin&&this.relativeParent&&this.relativeParent.target?(this.forceRelativeParentToResolveTarget(),Ys(this.target,this.relativeTarget,this.relativeParent.target)):this.targetDelta?(this.resumingFrom?this.target=this.applyTransform(this.layout.layoutBox):j(this.target,this.layout.layoutBox),Ln(this.target,this.targetDelta)):j(this.target,this.layout.layoutBox),this.attemptToResolveRelativeTarget)){this.attemptToResolveRelativeTarget=!1;const f=this.getClosestProjectingParent();f&&!!f.resumingFrom==!!this.resumingFrom&&!f.options.layoutScroll&&f.target&&this.animationProgress!==1?(this.relativeParent=f,this.forceRelativeParentToResolveTarget(),this.relativeTarget=T(),this.relativeTargetOrigin=T(),ot(this.relativeTargetOrigin,this.target,f.target),j(this.relativeTarget,this.relativeTargetOrigin)):this.relativeParent=this.relativeTarget=void 0}}}getClosestProjectingParent(){if(!(!this.parent||It(this.parent.latestValues)||Rn(this.parent.latestValues)))return this.parent.isProjecting()?this.parent:this.parent.getClosestProjectingParent()}isProjecting(){return!!((this.relativeTarget||this.targetDelta||this.options.layoutRoot)&&this.layout)}calcProjection(){const s=this.getLead(),a=!!this.resumingFrom||this!==s;let l=!0;if((this.isProjectionDirty||this.parent?.isProjectionDirty)&&(l=!1),a&&(this.isSharedProjectionDirty||this.isTransformDirty)&&(l=!1),this.resolvedRelativeTargetAt===L.timestamp&&(l=!1),l)return;const{layout:c,layoutId:u}=this.options;if(this.isTreeAnimating=!!(this.parent&&this.parent.isTreeAnimating||this.currentAnimation||this.pendingAnimation),this.isTreeAnimating||(this.targetDelta=this.relativeTarget=void 0),!this.layout||!(c||u))return;j(this.layoutCorrected,this.layout.layoutBox);const h=this.treeScale.x,f=this.treeScale.y;as(this.layoutCorrected,this.treeScale,this.path,a),s.layout&&!s.target&&(this.treeScale.x!==1||this.treeScale.y!==1)&&(s.target=s.layout.layoutBox,s.targetWithTransforms=T());const{target:d}=s;if(!d){this.prevProjectionDelta&&(this.createProjectionDeltas(),this.scheduleRender());return}!this.projectionDelta||!this.prevProjectionDelta?this.createProjectionDeltas():(Ue(this.prevProjectionDelta.x,this.projectionDelta.x),Ue(this.prevProjectionDelta.y,this.projectionDelta.y)),st(this.projectionDelta,this.layoutCorrected,d,this.latestValues),(this.treeScale.x!==h||this.treeScale.y!==f||!_e(this.projectionDelta.x,this.prevProjectionDelta.x)||!_e(this.projectionDelta.y,this.prevProjectionDelta.y))&&(this.hasProjected=!0,this.scheduleRender(),this.notifyListeners("projectionUpdate",d))}hide(){this.isVisible=!1}show(){this.isVisible=!0}scheduleRender(s=!0){if(this.options.visualElement?.scheduleRender(),s){const a=this.getStack();a&&a.scheduleRender()}this.resumingFrom&&!this.resumingFrom.instance&&(this.resumingFrom=void 0)}createProjectionDeltas(){this.prevProjectionDelta=X(),this.projectionDelta=X(),this.projectionDeltaWithTransform=X()}setAnimationOrigin(s,a=!1){const l=this.snapshot,c=l?l.latestValues:{},u={...this.latestValues},h=X();(!this.relativeParent||!this.relativeParent.options.layoutRoot)&&(this.relativeTarget=this.relativeTargetOrigin=void 0),this.attemptToResolveRelativeTarget=!a;const f=T(),d=l?l.source:void 0,m=this.layout?this.layout.source:void 0,x=d!==m,P=this.getStack(),y=!P||P.members.length<=1,g=!!(x&&!y&&this.options.crossfade===!0&&!this.path.some(Wo));this.animationProgress=0;let v;this.mixTargetDelta=C=>{const E=C/1e3;Ze(h.x,s.x,E),Ze(h.y,s.y,E),this.setTargetDelta(h),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(ot(f,this.layout.layoutBox,this.relativeParent.layout.layoutBox),No(this.relativeTarget,this.relativeTargetOrigin,f,E),v&&Ao(this.relativeTarget,v)&&(this.isProjectionDirty=!1),v||(v=T()),j(v,this.relativeTarget)),x&&(this.animationValues=u,xo(u,c,this.latestValues,E,g,y)),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=E},this.mixTargetDelta(this.options.layoutRoot?1e3:0)}startAnimation(s){this.notifyListeners("animationStart"),this.currentAnimation?.stop(),this.resumingFrom?.currentAnimation?.stop(),this.pendingAnimation&&($(this.pendingAnimation),this.pendingAnimation=void 0),this.pendingAnimation=S.update(()=>{mt.hasAnimatedSinceResize=!0,this.motionValue||(this.motionValue=Z(0)),this.currentAnimation=mo(this.motionValue,[0,1e3],{...s,velocity:0,isSync:!0,onUpdate:a=>{this.mixTargetDelta(a),s.onUpdate&&s.onUpdate(a)},onStop:()=>{},onComplete:()=>{s.onComplete&&s.onComplete(),this.completeAnimation()}}),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);const s=this.getStack();s&&s.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners("animationComplete")}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(Mo),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){const s=this.getLead();let{targetWithTransforms:a,target:l,layout:c,latestValues:u}=s;if(!(!a||!l||!c)){if(this!==s&&this.layout&&c&&Qn(this.options.animationType,this.layout.layoutBox,c.layoutBox)){l=this.target||T();const h=R(this.layout.layoutBox.x);l.x.min=s.target.x.min,l.x.max=l.x.min+h;const f=R(this.layout.layoutBox.y);l.y.min=s.target.y.min,l.y.max=l.y.min+f}j(a,l),_(a,u),st(this.projectionDeltaWithTransform,this.layoutCorrected,a,u)}}registerSharedNode(s,a){this.sharedNodes.has(s)||this.sharedNodes.set(s,new wo),this.sharedNodes.get(s).add(a);const c=a.options.initialPromotionConfig;a.promote({transition:c?c.transition:void 0,preserveFollowOpacity:c&&c.shouldPreserveFollowOpacity?c.shouldPreserveFollowOpacity(a):void 0})}isLead(){const s=this.getStack();return s?s.lead===this:!0}getLead(){const{layoutId:s}=this.options;return s?this.getStack()?.lead||this:this}getPrevLead(){const{layoutId:s}=this.options;return s?this.getStack()?.prevLead:void 0}getStack(){const{layoutId:s}=this.options;if(s)return this.root.sharedNodes.get(s)}promote({needsReset:s,transition:a,preserveFollowOpacity:l}={}){const c=this.getStack();c&&c.promote(this,l),s&&(this.projectionDelta=void 0,this.needsReset=!0),a&&this.setOptions({transition:a})}relegate(){const s=this.getStack();return s?s.relegate(this):!1}resetSkewAndRotation(){const{visualElement:s}=this.options;if(!s)return;let a=!1;const{latestValues:l}=s;if((l.z||l.rotate||l.rotateX||l.rotateY||l.rotateZ||l.skewX||l.skewY)&&(a=!0),!a)return;const c={};l.z&&Lt("z",s,c,this.animationValues);for(let u=0;u<Rt.length;u++)Lt(`rotate${Rt[u]}`,s,c,this.animationValues),Lt(`skew${Rt[u]}`,s,c,this.animationValues);s.render();for(const u in c)s.setStaticValue(u,c[u]),this.animationValues&&(this.animationValues[u]=c[u]);s.scheduleRender()}applyProjectionStyles(s,a){if(!this.instance||this.isSVG)return;if(!this.isVisible){s.visibility="hidden";return}const l=this.getTransformTemplate();if(this.needsReset){this.needsReset=!1,s.visibility="",s.opacity="",s.pointerEvents=dt(a?.pointerEvents)||"",s.transform=l?l(this.latestValues,""):"none";return}const c=this.getLead();if(!this.projectionDelta||!this.layout||!c.target){this.options.layoutId&&(s.opacity=this.latestValues.opacity!==void 0?this.latestValues.opacity:1,s.pointerEvents=dt(a?.pointerEvents)||""),this.hasProjected&&!W(this.latestValues)&&(s.transform=l?l({},""):"none",this.hasProjected=!1);return}s.visibility="";const u=c.animationValues||c.latestValues;this.applyTransformsToTarget();let h=Do(this.projectionDeltaWithTransform,this.treeScale,u);l&&(h=l(u,h)),s.transform=h;const{x:f,y:d}=this.projectionDelta;s.transformOrigin=`${f.origin*100}% ${d.origin*100}% 0`,c.animationValues?s.opacity=c===this?u.opacity??this.latestValues.opacity??1:this.preserveOpacity?this.latestValues.opacity:u.opacityExit:s.opacity=c===this?u.opacity!==void 0?u.opacity:"":u.opacityExit!==void 0?u.opacityExit:0;for(const m in at){if(u[m]===void 0)continue;const{correct:x,applyTo:P,isCSSVariable:y}=at[m],g=h==="none"?u[m]:x(u[m],c);if(P){const v=P.length;for(let C=0;C<v;C++)s[P[C]]=g}else y?this.options.visualElement.renderState.vars[m]=g:s[m]=g}this.options.layoutId&&(s.pointerEvents=c===this?dt(a?.pointerEvents)||"":"none")}clearSnapshot(){this.resumeFrom=this.snapshot=void 0}resetTree(){this.root.nodes.forEach(s=>s.currentAnimation?.stop()),this.root.nodes.forEach(Xe),this.root.sharedNodes.clear()}}}function Lo(t){t.updateLayout()}function Eo(t){const e=t.resumeFrom?.snapshot||t.snapshot;if(t.isLead()&&t.layout&&e&&t.hasListeners("didUpdate")){const{layoutBox:n,measuredBox:i}=t.layout,{animationType:o}=t.options,r=e.source!==t.layout.source;o==="size"?B(u=>{const h=r?e.measuredBox[u]:e.layoutBox[u],f=R(h);h.min=n[u].min,h.max=h.min+f}):Qn(o,e.layoutBox,n)&&B(u=>{const h=r?e.measuredBox[u]:e.layoutBox[u],f=R(n[u]);h.max=h.min+f,t.relativeTarget&&!t.currentAnimation&&(t.isProjectionDirty=!0,t.relativeTarget[u].max=t.relativeTarget[u].min+f)});const s=X();st(s,n,e.layoutBox);const a=X();r?st(a,t.applyTransform(i,!0),e.measuredBox):st(a,n,e.layoutBox);const l=!Yn(s);let c=!1;if(!t.resumeFrom){const u=t.getClosestProjectingParent();if(u&&!u.resumeFrom){const{snapshot:h,layout:f}=u;if(h&&f){const d=T();ot(d,e.layoutBox,h.layoutBox);const m=T();ot(m,n,f.layoutBox),qn(d,m)||(c=!0),u.options.layoutRoot&&(t.relativeTarget=m,t.relativeTargetOrigin=d,t.relativeParent=u)}}}t.notifyListeners("didUpdate",{layout:n,snapshot:e,delta:a,layoutDelta:s,hasLayoutChanged:l,hasRelativeLayoutChanged:c})}else if(t.isLead()){const{onExitComplete:n}=t.options;n&&n()}t.options.transition=void 0}function bo(t){t.parent&&(t.isProjecting()||(t.isProjectionDirty=t.parent.isProjectionDirty),t.isSharedProjectionDirty||(t.isSharedProjectionDirty=!!(t.isProjectionDirty||t.parent.isProjectionDirty||t.parent.isSharedProjectionDirty)),t.isTransformDirty||(t.isTransformDirty=t.parent.isTransformDirty))}function jo(t){t.isProjectionDirty=t.isSharedProjectionDirty=t.isTransformDirty=!1}function Bo(t){t.clearSnapshot()}function Xe(t){t.clearMeasurements()}function Ye(t){t.isLayoutDirty=!1}function Io(t){const{visualElement:e}=t.options;e&&e.getProps().onBeforeLayoutMeasure&&e.notify("BeforeLayoutMeasure"),t.resetTransform()}function qe(t){t.finishAnimation(),t.targetDelta=t.relativeTarget=t.target=void 0,t.isProjectionDirty=!0}function ko(t){t.resolveTargetDelta()}function Fo(t){t.calcProjection()}function Oo(t){t.resetSkewAndRotation()}function Uo(t){t.removeLeadSnapshot()}function Ze(t,e,n){t.translate=V(e.translate,0,n),t.scale=V(e.scale,1,n),t.origin=e.origin,t.originPoint=e.originPoint}function Je(t,e,n,i){t.min=V(e.min,n.min,i),t.max=V(e.max,n.max,i)}function No(t,e,n,i){Je(t.x,e.x,n.x,i),Je(t.y,e.y,n.y,i)}function Wo(t){return t.animationValues&&t.animationValues.opacityExit!==void 0}const $o={duration:.45,ease:[.4,0,.1,1]},Qe=t=>typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().includes(t),tn=Qe("applewebkit/")&&!Qe("chrome/")?Math.round:Y;function en(t){t.min=tn(t.min),t.max=tn(t.max)}function Ho(t){en(t.x),en(t.y)}function Qn(t,e,n){return t==="position"||t==="preserve-aspect"&&!Xs(Ke(e),Ke(n),.2)}function Go(t){return t!==t.root&&t.scroll?.wasRoot}const zo=Jn({attachResizeListener:(t,e)=>lt(t,"resize",e),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body.scrollLeft,y:document.documentElement.scrollTop||document.body.scrollTop}),checkIsScrollRoot:()=>!0}),Et={current:void 0},ti=Jn({measureScroll:t=>({x:t.scrollLeft,y:t.scrollTop}),defaultParent:()=>{if(!Et.current){const t=new zo({});t.mount(window),t.setOptions({layoutScroll:!0}),Et.current=t}return Et.current},resetTransform:(t,e)=>{t.style.transform=e!==void 0?e:"none"},checkIsScrollRoot:t=>window.getComputedStyle(t).position==="fixed"}),Ko={pan:{Feature:uo},drag:{Feature:lo,ProjectionNode:ti,MeasureLayout:Kn}};function nn(t,e,n){const{props:i}=t;t.animationState&&i.whileHover&&t.animationState.setActive("whileHover",n==="Start");const o="onHover"+n,r=i[o];r&&S.postRender(()=>r(e,ut(e)))}class _o extends F{mount(){const{current:e}=this.node;e&&(this.unmount=Ti(e,(n,i)=>(nn(this.node,i,"Start"),o=>nn(this.node,o,"End"))))}unmount(){}}class Xo extends F{constructor(){super(...arguments),this.isActive=!1}onFocus(){let e=!1;try{e=this.node.current.matches(":focus-visible")}catch{e=!0}!e||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!0),this.isActive=!0)}onBlur(){!this.isActive||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!1),this.isActive=!1)}mount(){this.unmount=un(lt(this.node.current,"focus",()=>this.onFocus()),lt(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}function sn(t,e,n){const{props:i}=t;if(t.current instanceof HTMLButtonElement&&t.current.disabled)return;t.animationState&&i.whileTap&&t.animationState.setActive("whileTap",n==="Start");const o="onTap"+(n==="End"?"":n),r=i[o];r&&S.postRender(()=>r(e,ut(e)))}class Yo extends F{mount(){const{current:e}=this.node;e&&(this.unmount=Si(e,(n,i)=>(sn(this.node,i,"Start"),(o,{success:r})=>sn(this.node,o,r?"End":"Cancel")),{useGlobalTarget:this.node.props.globalTapTarget}))}unmount(){}}const $t=new WeakMap,bt=new WeakMap,qo=t=>{const e=$t.get(t.target);e&&e(t)},Zo=t=>{t.forEach(qo)};function Jo({root:t,...e}){const n=t||document;bt.has(n)||bt.set(n,{});const i=bt.get(n),o=JSON.stringify(e);return i[o]||(i[o]=new IntersectionObserver(Zo,{root:t,...e})),i[o]}function Qo(t,e,n){const i=Jo(e);return $t.set(t,n),i.observe(t),()=>{$t.delete(t),i.unobserve(t)}}const tr={some:0,all:1};class er extends F{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){this.unmount();const{viewport:e={}}=this.node.getProps(),{root:n,margin:i,amount:o="some",once:r}=e,s={root:n?n.current:void 0,rootMargin:i,threshold:typeof o=="number"?o:tr[o]},a=l=>{const{isIntersecting:c}=l;if(this.isInView===c||(this.isInView=c,r&&!c&&this.hasEnteredView))return;c&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive("whileInView",c);const{onViewportEnter:u,onViewportLeave:h}=this.node.getProps(),f=c?u:h;f&&f(l)};return Qo(this.node.current,s,a)}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>"u")return;const{props:e,prevProps:n}=this.node;["amount","margin","root"].some(nr(e,n))&&this.startObserver()}unmount(){}}function nr({viewport:t={}},{viewport:e={}}={}){return n=>t[n]!==e[n]}const ir={inView:{Feature:er},tap:{Feature:Yo},focus:{Feature:Xo},hover:{Feature:_o}},sr={layout:{ProjectionNode:ti,MeasureLayout:Kn}},or={...$s,...ir,...Ko,...sr},hr=ss(or,ys);export{ur as A,hr as m};
|
assets/vendor-CjHduoA4.js
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
assets/vendor-other-B0VykD61.js
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
var je={exports:{}},Ue={};/**
|
| 2 |
+
* @license React
|
| 3 |
+
* scheduler.production.min.js
|
| 4 |
+
*
|
| 5 |
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
| 6 |
+
*
|
| 7 |
+
* This source code is licensed under the MIT license found in the
|
| 8 |
+
* LICENSE file in the root directory of this source tree.
|
| 9 |
+
*/var Ft;function ar(){return Ft||(Ft=1,function(e){function t(c,y){var k=c.length;c.push(y);e:for(;0<k;){var V=k-1>>>1,F=c[V];if(0<s(F,y))c[V]=y,c[k]=F,k=V;else break e}}function n(c){return c.length===0?null:c[0]}function r(c){if(c.length===0)return null;var y=c[0],k=c.pop();if(k!==y){c[0]=k;e:for(var V=0,F=c.length,L=F>>>1;V<L;){var z=2*(V+1)-1,J=c[z],$=z+1,D=c[$];if(0>s(J,k))$<F&&0>s(D,J)?(c[V]=D,c[$]=k,V=$):(c[V]=J,c[z]=k,V=z);else if($<F&&0>s(D,k))c[V]=D,c[$]=k,V=$;else break e}}return y}function s(c,y){var k=c.sortIndex-y.sortIndex;return k!==0?k:c.id-y.id}if(typeof performance=="object"&&typeof performance.now=="function"){var o=performance;e.unstable_now=function(){return o.now()}}else{var i=Date,l=i.now();e.unstable_now=function(){return i.now()-l}}var a=[],u=[],d=1,m=null,g=3,T=!1,w=!1,x=!1,I=typeof setTimeout=="function"?setTimeout:null,E=typeof clearTimeout=="function"?clearTimeout:null,K=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function S(c){for(var y=n(u);y!==null;){if(y.callback===null)r(u);else if(y.startTime<=c)r(u),y.sortIndex=y.expirationTime,t(a,y);else break;y=n(u)}}function P(c){if(x=!1,S(c),!w)if(n(a)!==null)w=!0,G(b);else{var y=n(u);y!==null&&W(P,y.startTime-c)}}function b(c,y){w=!1,x&&(x=!1,E(f),f=-1),T=!0;var k=g;try{for(S(y),m=n(a);m!==null&&(!(m.expirationTime>y)||c&&!le());){var V=m.callback;if(typeof V=="function"){m.callback=null,g=m.priorityLevel;var F=V(m.expirationTime<=y);y=e.unstable_now(),typeof F=="function"?m.callback=F:m===n(a)&&r(a),S(y)}else r(a);m=n(a)}if(m!==null)var L=!0;else{var z=n(u);z!==null&&W(P,z.startTime-y),L=!1}return L}finally{m=null,g=k,T=!1}}var A=!1,C=null,f=-1,R=5,B=-1;function le(){return!(e.unstable_now()-B<R)}function q(){if(C!==null){var c=e.unstable_now();B=c;var y=!0;try{y=C(!0,c)}finally{y?Z():(A=!1,C=null)}}else A=!1}var Z;if(typeof K=="function")Z=function(){K(q)};else if(typeof MessageChannel<"u"){var ce=new MessageChannel,H=ce.port2;ce.port1.onmessage=q,Z=function(){H.postMessage(null)}}else Z=function(){I(q,0)};function G(c){C=c,A||(A=!0,Z())}function W(c,y){f=I(function(){c(e.unstable_now())},y)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(c){c.callback=null},e.unstable_continueExecution=function(){w||T||(w=!0,G(b))},e.unstable_forceFrameRate=function(c){0>c||125<c?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):R=0<c?Math.floor(1e3/c):5},e.unstable_getCurrentPriorityLevel=function(){return g},e.unstable_getFirstCallbackNode=function(){return n(a)},e.unstable_next=function(c){switch(g){case 1:case 2:case 3:var y=3;break;default:y=g}var k=g;g=y;try{return c()}finally{g=k}},e.unstable_pauseExecution=function(){},e.unstable_requestPaint=function(){},e.unstable_runWithPriority=function(c,y){switch(c){case 1:case 2:case 3:case 4:case 5:break;default:c=3}var k=g;g=c;try{return y()}finally{g=k}},e.unstable_scheduleCallback=function(c,y,k){var V=e.unstable_now();switch(typeof k=="object"&&k!==null?(k=k.delay,k=typeof k=="number"&&0<k?V+k:V):k=V,c){case 1:var F=-1;break;case 2:F=250;break;case 5:F=1073741823;break;case 4:F=1e4;break;default:F=5e3}return F=k+F,c={id:d++,callback:y,priorityLevel:c,startTime:k,expirationTime:F,sortIndex:-1},k>V?(c.sortIndex=k,t(u,c),n(a)===null&&c===n(u)&&(x?(E(f),f=-1):x=!0,W(P,k-V))):(c.sortIndex=F,t(a,c),w||T||(w=!0,G(b))),c},e.unstable_shouldYield=le,e.unstable_wrapCallback=function(c){var y=g;return function(){var k=g;g=y;try{return c.apply(this,arguments)}finally{g=k}}}}(Ue)),Ue}var Nt;function ti(){return Nt||(Nt=1,je.exports=ar()),je.exports}function lr(e,t){e.indexOf(t)===-1&&e.push(t)}function cr(e,t){const n=e.indexOf(t);n>-1&&e.splice(n,1)}const ae=(e,t,n)=>n>t?t:n<e?e:n;let yt=()=>{};const ke={},ur=e=>/^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(e);function un(e){return typeof e=="object"&&e!==null}const dr=e=>/^0[^.\s]+$/u.test(e);function wt(e){let t;return()=>(t===void 0&&(t=e()),t)}const me=e=>e,fr=(e,t)=>n=>t(e(n)),vt=(...e)=>e.reduce(fr),dn=(e,t,n)=>{const r=t-e;return r===0?1:(n-e)/r};class mr{constructor(){this.subscriptions=[]}add(t){return lr(this.subscriptions,t),()=>cr(this.subscriptions,t)}notify(t,n,r){const s=this.subscriptions.length;if(s)if(s===1)this.subscriptions[0](t,n,r);else for(let o=0;o<s;o++){const i=this.subscriptions[o];i&&i(t,n,r)}}getSize(){return this.subscriptions.length}clear(){this.subscriptions.length=0}}const he=e=>e*1e3,X=e=>e/1e3;function fn(e,t){return t?e*(1e3/t):0}const mn=(e,t,n)=>(((1-3*n+3*t)*e+(3*n-6*t))*e+3*t)*e,hr=1e-7,pr=12;function gr(e,t,n,r,s){let o,i,l=0;do i=t+(n-t)/2,o=mn(i,r,s)-e,o>0?n=i:t=i;while(Math.abs(o)>hr&&++l<pr);return i}function Ae(e,t,n,r){if(e===t&&n===r)return me;const s=o=>gr(o,0,1,e,n);return o=>o===0||o===1?o:mn(s(o),t,r)}const hn=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,pn=e=>t=>1-e(1-t),gn=Ae(.33,1.53,.69,.99),xt=pn(gn),bn=hn(xt),yn=e=>(e*=2)<1?.5*xt(e):.5*(2-Math.pow(2,-10*(e-1))),kt=e=>1-Math.sin(Math.acos(e)),br=pn(kt),wn=hn(kt),yr=Ae(.42,0,1,1),wr=Ae(0,0,.58,1),vn=Ae(.42,0,.58,1),vr=e=>Array.isArray(e)&&typeof e[0]!="number",xn=e=>Array.isArray(e)&&typeof e[0]=="number",xr={linear:me,easeIn:yr,easeInOut:vn,easeOut:wr,circIn:kt,circInOut:wn,circOut:br,backIn:xt,backInOut:bn,backOut:gn,anticipate:yn},kr=e=>typeof e=="string",zt=e=>{if(xn(e)){yt(e.length===4);const[t,n,r,s]=e;return Ae(t,n,r,s)}else if(kr(e))return xr[e];return e},Re=["setup","read","resolveKeyframes","preUpdate","update","preRender","render","postRender"];function Tr(e,t){let n=new Set,r=new Set,s=!1,o=!1;const i=new WeakSet;let l={delta:0,timestamp:0,isProcessing:!1};function a(d){i.has(d)&&(u.schedule(d),e()),d(l)}const u={schedule:(d,m=!1,g=!1)=>{const w=g&&s?n:r;return m&&i.add(d),w.has(d)||w.add(d),d},cancel:d=>{r.delete(d),i.delete(d)},process:d=>{if(l=d,s){o=!0;return}s=!0,[n,r]=[r,n],n.forEach(a),n.clear(),s=!1,o&&(o=!1,u.process(d))}};return u}const Mr=40;function kn(e,t){let n=!1,r=!0;const s={delta:0,timestamp:0,isProcessing:!1},o=()=>n=!0,i=Re.reduce((S,P)=>(S[P]=Tr(o),S),{}),{setup:l,read:a,resolveKeyframes:u,preUpdate:d,update:m,preRender:g,render:T,postRender:w}=i,x=()=>{const S=ke.useManualTiming?s.timestamp:performance.now();n=!1,ke.useManualTiming||(s.delta=r?1e3/60:Math.max(Math.min(S-s.timestamp,Mr),1)),s.timestamp=S,s.isProcessing=!0,l.process(s),a.process(s),u.process(s),d.process(s),m.process(s),g.process(s),T.process(s),w.process(s),s.isProcessing=!1,n&&t&&(r=!1,e(x))},I=()=>{n=!0,r=!0,s.isProcessing||e(x)};return{schedule:Re.reduce((S,P)=>{const b=i[P];return S[P]=(A,C=!1,f=!1)=>(n||I(),b.schedule(A,C,f)),S},{}),cancel:S=>{for(let P=0;P<Re.length;P++)i[Re[P]].cancel(S)},state:s,steps:i}}const{schedule:Le,cancel:Ar,state:Oe,steps:ni}=kn(typeof requestAnimationFrame<"u"?requestAnimationFrame:me,!0);let Ne;function Sr(){Ne=void 0}const U={now:()=>(Ne===void 0&&U.set(Oe.isProcessing||ke.useManualTiming?Oe.timestamp:performance.now()),Ne),set:e=>{Ne=e,queueMicrotask(Sr)}},Tn=e=>t=>typeof t=="string"&&t.startsWith(e),ri=Tn("--"),Er=Tn("var(--"),Tt=e=>Er(e)?Pr.test(e.split("/*")[0].trim()):!1,Pr=/var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu,pe={test:e=>typeof e=="number",parse:parseFloat,transform:e=>e},Te={...pe,transform:e=>ae(0,1,e)},Ve={...pe,default:1},ve=e=>Math.round(e*1e5)/1e5,Mt=/-?(?:\d+(?:\.\d+)?|\.\d+)/gu;function Ir(e){return e==null}const Cr=/^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu,At=(e,t)=>n=>!!(typeof n=="string"&&Cr.test(n)&&n.startsWith(e)||t&&!Ir(n)&&Object.prototype.hasOwnProperty.call(n,t)),Mn=(e,t,n)=>r=>{if(typeof r!="string")return r;const[s,o,i,l]=r.match(Mt);return{[e]:parseFloat(s),[t]:parseFloat(o),[n]:parseFloat(i),alpha:l!==void 0?parseFloat(l):1}},Rr=e=>ae(0,255,e),$e={...pe,transform:e=>Math.round(Rr(e))},re={test:At("rgb","red"),parse:Mn("red","green","blue"),transform:({red:e,green:t,blue:n,alpha:r=1})=>"rgba("+$e.transform(e)+", "+$e.transform(t)+", "+$e.transform(n)+", "+ve(Te.transform(r))+")"};function Vr(e){let t="",n="",r="",s="";return e.length>5?(t=e.substring(1,3),n=e.substring(3,5),r=e.substring(5,7),s=e.substring(7,9)):(t=e.substring(1,2),n=e.substring(2,3),r=e.substring(3,4),s=e.substring(4,5),t+=t,n+=n,r+=r,s+=s),{red:parseInt(t,16),green:parseInt(n,16),blue:parseInt(r,16),alpha:s?parseInt(s,16)/255:1}}const nt={test:At("#"),parse:Vr,transform:re.transform},Se=e=>({test:t=>typeof t=="string"&&t.endsWith(e)&&t.split(" ").length===1,parse:parseFloat,transform:t=>`${t}${e}`}),ee=Se("deg"),fe=Se("%"),v=Se("px"),Dr=Se("vh"),Fr=Se("vw"),Lt={...fe,parse:e=>fe.parse(e)/100,transform:e=>fe.transform(e*100)},de={test:At("hsl","hue"),parse:Mn("hue","saturation","lightness"),transform:({hue:e,saturation:t,lightness:n,alpha:r=1})=>"hsla("+Math.round(e)+", "+fe.transform(ve(t))+", "+fe.transform(ve(n))+", "+ve(Te.transform(r))+")"},O={test:e=>re.test(e)||nt.test(e)||de.test(e),parse:e=>re.test(e)?re.parse(e):de.test(e)?de.parse(e):nt.parse(e),transform:e=>typeof e=="string"?e:e.hasOwnProperty("red")?re.transform(e):de.transform(e),getAnimatableNone:e=>{const t=O.parse(e);return t.alpha=0,O.transform(t)}},Nr=/(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;function zr(e){return isNaN(e)&&typeof e=="string"&&(e.match(Mt)?.length||0)+(e.match(Nr)?.length||0)>0}const An="number",Sn="color",Lr="var",Or="var(",Ot="${}",_r=/var\s*\(\s*--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)|#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\)|-?(?:\d+(?:\.\d+)?|\.\d+)/giu;function Me(e){const t=e.toString(),n=[],r={color:[],number:[],var:[]},s=[];let o=0;const l=t.replace(_r,a=>(O.test(a)?(r.color.push(o),s.push(Sn),n.push(O.parse(a))):a.startsWith(Or)?(r.var.push(o),s.push(Lr),n.push(a)):(r.number.push(o),s.push(An),n.push(parseFloat(a))),++o,Ot)).split(Ot);return{values:n,split:l,indexes:r,types:s}}function En(e){return Me(e).values}function Pn(e){const{split:t,types:n}=Me(e),r=t.length;return s=>{let o="";for(let i=0;i<r;i++)if(o+=t[i],s[i]!==void 0){const l=n[i];l===An?o+=ve(s[i]):l===Sn?o+=O.transform(s[i]):o+=s[i]}return o}}const Kr=e=>typeof e=="number"?0:O.test(e)?O.getAnimatableNone(e):e;function Br(e){const t=En(e);return Pn(e)(t.map(Kr))}const Ee={test:zr,parse:En,createTransformer:Pn,getAnimatableNone:Br};function Ye(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+(t-e)*6*n:n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function Gr({hue:e,saturation:t,lightness:n,alpha:r}){e/=360,t/=100,n/=100;let s=0,o=0,i=0;if(!t)s=o=i=n;else{const l=n<.5?n*(1+t):n+t-n*t,a=2*n-l;s=Ye(a,l,e+1/3),o=Ye(a,l,e),i=Ye(a,l,e-1/3)}return{red:Math.round(s*255),green:Math.round(o*255),blue:Math.round(i*255),alpha:r}}function _e(e,t){return n=>n>0?t:e}const Ge=(e,t,n)=>e+(t-e)*n,Xe=(e,t,n)=>{const r=e*e,s=n*(t*t-r)+r;return s<0?0:Math.sqrt(s)},Wr=[nt,re,de],jr=e=>Wr.find(t=>t.test(e));function _t(e){const t=jr(e);if(!t)return!1;let n=t.parse(e);return t===de&&(n=Gr(n)),n}const Kt=(e,t)=>{const n=_t(e),r=_t(t);if(!n||!r)return _e(e,t);const s={...n};return o=>(s.red=Xe(n.red,r.red,o),s.green=Xe(n.green,r.green,o),s.blue=Xe(n.blue,r.blue,o),s.alpha=Ge(n.alpha,r.alpha,o),re.transform(s))},rt=new Set(["none","hidden"]);function Ur(e,t){return rt.has(e)?n=>n<=0?e:t:n=>n>=1?t:e}function $r(e,t){return n=>Ge(e,t,n)}function St(e){return typeof e=="number"?$r:typeof e=="string"?Tt(e)?_e:O.test(e)?Kt:qr:Array.isArray(e)?In:typeof e=="object"?O.test(e)?Kt:Yr:_e}function In(e,t){const n=[...e],r=n.length,s=e.map((o,i)=>St(o)(o,t[i]));return o=>{for(let i=0;i<r;i++)n[i]=s[i](o);return n}}function Yr(e,t){const n={...e,...t},r={};for(const s in n)e[s]!==void 0&&t[s]!==void 0&&(r[s]=St(e[s])(e[s],t[s]));return s=>{for(const o in r)n[o]=r[o](s);return n}}function Xr(e,t){const n=[],r={color:0,var:0,number:0};for(let s=0;s<t.values.length;s++){const o=t.types[s],i=e.indexes[o][r[o]],l=e.values[i]??0;n[s]=l,r[o]++}return n}const qr=(e,t)=>{const n=Ee.createTransformer(t),r=Me(e),s=Me(t);return r.indexes.var.length===s.indexes.var.length&&r.indexes.color.length===s.indexes.color.length&&r.indexes.number.length>=s.indexes.number.length?rt.has(e)&&!s.values.length||rt.has(t)&&!r.values.length?Ur(e,t):vt(In(Xr(r,s),s.values),n):_e(e,t)};function Cn(e,t,n){return typeof e=="number"&&typeof t=="number"&&typeof n=="number"?Ge(e,t,n):St(e)(e,t)}const Zr=e=>{const t=({timestamp:n})=>e(n);return{start:(n=!0)=>Le.update(t,n),stop:()=>Ar(t),now:()=>Oe.isProcessing?Oe.timestamp:U.now()}},Rn=(e,t,n=10)=>{let r="";const s=Math.max(Math.round(t/n),2);for(let o=0;o<s;o++)r+=Math.round(e(o/(s-1))*1e4)/1e4+", ";return`linear(${r.substring(0,r.length-2)})`},Ke=2e4;function Et(e){let t=0;const n=50;let r=e.next(t);for(;!r.done&&t<Ke;)t+=n,r=e.next(t);return t>=Ke?1/0:t}function Hr(e,t=100,n){const r=n({...e,keyframes:[0,t]}),s=Math.min(Et(r),Ke);return{type:"keyframes",ease:o=>r.next(s*o).value/t,duration:X(s)}}const Jr=5;function Vn(e,t,n){const r=Math.max(t-Jr,0);return fn(n-e(r),t-r)}const N={stiffness:100,damping:10,mass:1,velocity:0,duration:800,bounce:.3,visualDuration:.3,restSpeed:{granular:.01,default:2},restDelta:{granular:.005,default:.5},minDuration:.01,maxDuration:10,minDamping:.05,maxDamping:1},qe=.001;function Qr({duration:e=N.duration,bounce:t=N.bounce,velocity:n=N.velocity,mass:r=N.mass}){let s,o,i=1-t;i=ae(N.minDamping,N.maxDamping,i),e=ae(N.minDuration,N.maxDuration,X(e)),i<1?(s=u=>{const d=u*i,m=d*e,g=d-n,T=st(u,i),w=Math.exp(-m);return qe-g/T*w},o=u=>{const m=u*i*e,g=m*n+n,T=Math.pow(i,2)*Math.pow(u,2)*e,w=Math.exp(-m),x=st(Math.pow(u,2),i);return(-s(u)+qe>0?-1:1)*((g-T)*w)/x}):(s=u=>{const d=Math.exp(-u*e),m=(u-n)*e+1;return-qe+d*m},o=u=>{const d=Math.exp(-u*e),m=(n-u)*(e*e);return d*m});const l=5/e,a=ts(s,o,l);if(e=he(e),isNaN(a))return{stiffness:N.stiffness,damping:N.damping,duration:e};{const u=Math.pow(a,2)*r;return{stiffness:u,damping:i*2*Math.sqrt(r*u),duration:e}}}const es=12;function ts(e,t,n){let r=n;for(let s=1;s<es;s++)r=r-e(r)/t(r);return r}function st(e,t){return e*Math.sqrt(1-t*t)}const ns=["duration","bounce"],rs=["stiffness","damping","mass"];function Bt(e,t){return t.some(n=>e[n]!==void 0)}function ss(e){let t={velocity:N.velocity,stiffness:N.stiffness,damping:N.damping,mass:N.mass,isResolvedFromDuration:!1,...e};if(!Bt(e,rs)&&Bt(e,ns))if(e.visualDuration){const n=e.visualDuration,r=2*Math.PI/(n*1.2),s=r*r,o=2*ae(.05,1,1-(e.bounce||0))*Math.sqrt(s);t={...t,mass:N.mass,stiffness:s,damping:o}}else{const n=Qr(e);t={...t,...n,mass:N.mass},t.isResolvedFromDuration=!0}return t}function Be(e=N.visualDuration,t=N.bounce){const n=typeof e!="object"?{visualDuration:e,keyframes:[0,1],bounce:t}:e;let{restSpeed:r,restDelta:s}=n;const o=n.keyframes[0],i=n.keyframes[n.keyframes.length-1],l={done:!1,value:o},{stiffness:a,damping:u,mass:d,duration:m,velocity:g,isResolvedFromDuration:T}=ss({...n,velocity:-X(n.velocity||0)}),w=g||0,x=u/(2*Math.sqrt(a*d)),I=i-o,E=X(Math.sqrt(a/d)),K=Math.abs(I)<5;r||(r=K?N.restSpeed.granular:N.restSpeed.default),s||(s=K?N.restDelta.granular:N.restDelta.default);let S;if(x<1){const b=st(E,x);S=A=>{const C=Math.exp(-x*E*A);return i-C*((w+x*E*I)/b*Math.sin(b*A)+I*Math.cos(b*A))}}else if(x===1)S=b=>i-Math.exp(-E*b)*(I+(w+E*I)*b);else{const b=E*Math.sqrt(x*x-1);S=A=>{const C=Math.exp(-x*E*A),f=Math.min(b*A,300);return i-C*((w+x*E*I)*Math.sinh(f)+b*I*Math.cosh(f))/b}}const P={calculatedDuration:T&&m||null,next:b=>{const A=S(b);if(T)l.done=b>=m;else{let C=b===0?w:0;x<1&&(C=b===0?he(w):Vn(S,b,A));const f=Math.abs(C)<=r,R=Math.abs(i-A)<=s;l.done=f&&R}return l.value=l.done?i:A,l},toString:()=>{const b=Math.min(Et(P),Ke),A=Rn(C=>P.next(b*C).value,b,30);return b+"ms "+A},toTransition:()=>{}};return P}Be.applyToOptions=e=>{const t=Hr(e,100,Be);return e.ease=t.ease,e.duration=he(t.duration),e.type="keyframes",e};function ot({keyframes:e,velocity:t=0,power:n=.8,timeConstant:r=325,bounceDamping:s=10,bounceStiffness:o=500,modifyTarget:i,min:l,max:a,restDelta:u=.5,restSpeed:d}){const m=e[0],g={done:!1,value:m},T=f=>l!==void 0&&f<l||a!==void 0&&f>a,w=f=>l===void 0?a:a===void 0||Math.abs(l-f)<Math.abs(a-f)?l:a;let x=n*t;const I=m+x,E=i===void 0?I:i(I);E!==I&&(x=E-m);const K=f=>-x*Math.exp(-f/r),S=f=>E+K(f),P=f=>{const R=K(f),B=S(f);g.done=Math.abs(R)<=u,g.value=g.done?E:B};let b,A;const C=f=>{T(g.value)&&(b=f,A=Be({keyframes:[g.value,w(g.value)],velocity:Vn(S,f,g.value),damping:s,stiffness:o,restDelta:u,restSpeed:d}))};return C(0),{calculatedDuration:null,next:f=>{let R=!1;return!A&&b===void 0&&(R=!0,P(f),C(f)),b!==void 0&&f>=b?A.next(f-b):(!R&&P(f),g)}}}function os(e,t,n){const r=[],s=n||ke.mix||Cn,o=e.length-1;for(let i=0;i<o;i++){let l=s(e[i],e[i+1]);if(t){const a=Array.isArray(t)?t[i]||me:t;l=vt(a,l)}r.push(l)}return r}function is(e,t,{clamp:n=!0,ease:r,mixer:s}={}){const o=e.length;if(yt(o===t.length),o===1)return()=>t[0];if(o===2&&t[0]===t[1])return()=>t[1];const i=e[0]===e[1];e[0]>e[o-1]&&(e=[...e].reverse(),t=[...t].reverse());const l=os(t,r,s),a=l.length,u=d=>{if(i&&d<e[0])return t[0];let m=0;if(a>1)for(;m<e.length-2&&!(d<e[m+1]);m++);const g=dn(e[m],e[m+1],d);return l[m](g)};return n?d=>u(ae(e[0],e[o-1],d)):u}function as(e,t){const n=e[e.length-1];for(let r=1;r<=t;r++){const s=dn(0,t,r);e.push(Ge(n,1,s))}}function ls(e){const t=[0];return as(t,e.length-1),t}function cs(e,t){return e.map(n=>n*t)}function us(e,t){return e.map(()=>t||vn).splice(0,e.length-1)}function xe({duration:e=300,keyframes:t,times:n,ease:r="easeInOut"}){const s=vr(r)?r.map(zt):zt(r),o={done:!1,value:t[0]},i=cs(n&&n.length===t.length?n:ls(t),e),l=is(i,t,{ease:Array.isArray(s)?s:us(t,s)});return{calculatedDuration:e,next:a=>(o.value=l(a),o.done=a>=e,o)}}const ds=e=>e!==null;function Pt(e,{repeat:t,repeatType:n="loop"},r,s=1){const o=e.filter(ds),l=s<0||t&&n!=="loop"&&t%2===1?0:o.length-1;return!l||r===void 0?o[l]:r}const fs={decay:ot,inertia:ot,tween:xe,keyframes:xe,spring:Be};function Dn(e){typeof e.type=="string"&&(e.type=fs[e.type])}class It{constructor(){this.updateFinished()}get finished(){return this._finished}updateFinished(){this._finished=new Promise(t=>{this.resolve=t})}notifyFinished(){this.resolve()}then(t,n){return this.finished.then(t,n)}}const ms=e=>e/100;class Fn extends It{constructor(t){super(),this.state="idle",this.startTime=null,this.isStopped=!1,this.currentTime=0,this.holdTime=null,this.playbackSpeed=1,this.stop=()=>{const{motionValue:n}=this.options;n&&n.updatedAt!==U.now()&&this.tick(U.now()),this.isStopped=!0,this.state!=="idle"&&(this.teardown(),this.options.onStop?.())},this.options=t,this.initAnimation(),this.play(),t.autoplay===!1&&this.pause()}initAnimation(){const{options:t}=this;Dn(t);const{type:n=xe,repeat:r=0,repeatDelay:s=0,repeatType:o,velocity:i=0}=t;let{keyframes:l}=t;const a=n||xe;a!==xe&&typeof l[0]!="number"&&(this.mixKeyframes=vt(ms,Cn(l[0],l[1])),l=[0,100]);const u=a({...t,keyframes:l});o==="mirror"&&(this.mirroredGenerator=a({...t,keyframes:[...l].reverse(),velocity:-i})),u.calculatedDuration===null&&(u.calculatedDuration=Et(u));const{calculatedDuration:d}=u;this.calculatedDuration=d,this.resolvedDuration=d+s,this.totalDuration=this.resolvedDuration*(r+1)-s,this.generator=u}updateTime(t){const n=Math.round(t-this.startTime)*this.playbackSpeed;this.holdTime!==null?this.currentTime=this.holdTime:this.currentTime=n}tick(t,n=!1){const{generator:r,totalDuration:s,mixKeyframes:o,mirroredGenerator:i,resolvedDuration:l,calculatedDuration:a}=this;if(this.startTime===null)return r.next(0);const{delay:u=0,keyframes:d,repeat:m,repeatType:g,repeatDelay:T,type:w,onUpdate:x,finalKeyframe:I}=this.options;this.speed>0?this.startTime=Math.min(this.startTime,t):this.speed<0&&(this.startTime=Math.min(t-s/this.speed,this.startTime)),n?this.currentTime=t:this.updateTime(t);const E=this.currentTime-u*(this.playbackSpeed>=0?1:-1),K=this.playbackSpeed>=0?E<0:E>s;this.currentTime=Math.max(E,0),this.state==="finished"&&this.holdTime===null&&(this.currentTime=s);let S=this.currentTime,P=r;if(m){const f=Math.min(this.currentTime,s)/l;let R=Math.floor(f),B=f%1;!B&&f>=1&&(B=1),B===1&&R--,R=Math.min(R,m+1),!!(R%2)&&(g==="reverse"?(B=1-B,T&&(B-=T/l)):g==="mirror"&&(P=i)),S=ae(0,1,B)*l}const b=K?{done:!1,value:d[0]}:P.next(S);o&&(b.value=o(b.value));let{done:A}=b;!K&&a!==null&&(A=this.playbackSpeed>=0?this.currentTime>=s:this.currentTime<=0);const C=this.holdTime===null&&(this.state==="finished"||this.state==="running"&&A);return C&&w!==ot&&(b.value=Pt(d,this.options,I,this.speed)),x&&x(b.value),C&&this.finish(),b}then(t,n){return this.finished.then(t,n)}get duration(){return X(this.calculatedDuration)}get time(){return X(this.currentTime)}set time(t){t=he(t),this.currentTime=t,this.startTime===null||this.holdTime!==null||this.playbackSpeed===0?this.holdTime=t:this.driver&&(this.startTime=this.driver.now()-t/this.playbackSpeed),this.driver?.start(!1)}get speed(){return this.playbackSpeed}set speed(t){this.updateTime(U.now());const n=this.playbackSpeed!==t;this.playbackSpeed=t,n&&(this.time=X(this.currentTime))}play(){if(this.isStopped)return;const{driver:t=Zr,startTime:n}=this.options;this.driver||(this.driver=t(s=>this.tick(s))),this.options.onPlay?.();const r=this.driver.now();this.state==="finished"?(this.updateFinished(),this.startTime=r):this.holdTime!==null?this.startTime=r-this.holdTime:this.startTime||(this.startTime=n??r),this.state==="finished"&&this.speed<0&&(this.startTime+=this.calculatedDuration),this.holdTime=null,this.state="running",this.driver.start()}pause(){this.state="paused",this.updateTime(U.now()),this.holdTime=this.currentTime}complete(){this.state!=="running"&&this.play(),this.state="finished",this.holdTime=null}finish(){this.notifyFinished(),this.teardown(),this.state="finished",this.options.onComplete?.()}cancel(){this.holdTime=null,this.startTime=0,this.tick(0),this.teardown(),this.options.onCancel?.()}teardown(){this.state="idle",this.stopDriver(),this.startTime=this.holdTime=null}stopDriver(){this.driver&&(this.driver.stop(),this.driver=void 0)}sample(t){return this.startTime=0,this.tick(t,!0)}attachTimeline(t){return this.options.allowFlatten&&(this.options.type="keyframes",this.options.ease="linear",this.initAnimation()),this.driver?.stop(),t.observe(this)}}function hs(e){for(let t=1;t<e.length;t++)e[t]??(e[t]=e[t-1])}const se=e=>e*180/Math.PI,it=e=>{const t=se(Math.atan2(e[1],e[0]));return at(t)},ps={x:4,y:5,translateX:4,translateY:5,scaleX:0,scaleY:3,scale:e=>(Math.abs(e[0])+Math.abs(e[3]))/2,rotate:it,rotateZ:it,skewX:e=>se(Math.atan(e[1])),skewY:e=>se(Math.atan(e[2])),skew:e=>(Math.abs(e[1])+Math.abs(e[2]))/2},at=e=>(e=e%360,e<0&&(e+=360),e),Gt=it,Wt=e=>Math.sqrt(e[0]*e[0]+e[1]*e[1]),jt=e=>Math.sqrt(e[4]*e[4]+e[5]*e[5]),gs={x:12,y:13,z:14,translateX:12,translateY:13,translateZ:14,scaleX:Wt,scaleY:jt,scale:e=>(Wt(e)+jt(e))/2,rotateX:e=>at(se(Math.atan2(e[6],e[5]))),rotateY:e=>at(se(Math.atan2(-e[2],e[0]))),rotateZ:Gt,rotate:Gt,skewX:e=>se(Math.atan(e[4])),skewY:e=>se(Math.atan(e[1])),skew:e=>(Math.abs(e[1])+Math.abs(e[4]))/2};function Ut(e){return e.includes("scale")?1:0}function lt(e,t){if(!e||e==="none")return Ut(t);const n=e.match(/^matrix3d\(([-\d.e\s,]+)\)$/u);let r,s;if(n)r=gs,s=n;else{const l=e.match(/^matrix\(([-\d.e\s,]+)\)$/u);r=ps,s=l}if(!s)return Ut(t);const o=r[t],i=s[1].split(",").map(bs);return typeof o=="function"?o(i):i[o]}const si=(e,t)=>{const{transform:n="none"}=getComputedStyle(e);return lt(n,t)};function bs(e){return parseFloat(e.trim())}const Ct=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],oi=new Set(Ct),$t=e=>e===pe||e===v,ys=new Set(["x","y","z"]),ws=Ct.filter(e=>!ys.has(e));function vs(e){const t=[];return ws.forEach(n=>{const r=e.getValue(n);r!==void 0&&(t.push([n,r.get()]),r.set(n.startsWith("scale")?1:0))}),t}const oe={width:({x:e},{paddingLeft:t="0",paddingRight:n="0"})=>e.max-e.min-parseFloat(t)-parseFloat(n),height:({y:e},{paddingTop:t="0",paddingBottom:n="0"})=>e.max-e.min-parseFloat(t)-parseFloat(n),top:(e,{top:t})=>parseFloat(t),left:(e,{left:t})=>parseFloat(t),bottom:({y:e},{top:t})=>parseFloat(t)+(e.max-e.min),right:({x:e},{left:t})=>parseFloat(t)+(e.max-e.min),x:(e,{transform:t})=>lt(t,"x"),y:(e,{transform:t})=>lt(t,"y")};oe.translateX=oe.x;oe.translateY=oe.y;const ie=new Set;let ct=!1,ut=!1,dt=!1;function Nn(){if(ut){const e=Array.from(ie).filter(r=>r.needsMeasurement),t=new Set(e.map(r=>r.element)),n=new Map;t.forEach(r=>{const s=vs(r);s.length&&(n.set(r,s),r.render())}),e.forEach(r=>r.measureInitialState()),t.forEach(r=>{r.render();const s=n.get(r);s&&s.forEach(([o,i])=>{r.getValue(o)?.set(i)})}),e.forEach(r=>r.measureEndState()),e.forEach(r=>{r.suspendedScrollY!==void 0&&window.scrollTo(0,r.suspendedScrollY)})}ut=!1,ct=!1,ie.forEach(e=>e.complete(dt)),ie.clear()}function zn(){ie.forEach(e=>{e.readKeyframes(),e.needsMeasurement&&(ut=!0)})}function xs(){dt=!0,zn(),Nn(),dt=!1}class Ln{constructor(t,n,r,s,o,i=!1){this.state="pending",this.isAsync=!1,this.needsMeasurement=!1,this.unresolvedKeyframes=[...t],this.onComplete=n,this.name=r,this.motionValue=s,this.element=o,this.isAsync=i}scheduleResolve(){this.state="scheduled",this.isAsync?(ie.add(this),ct||(ct=!0,Le.read(zn),Le.resolveKeyframes(Nn))):(this.readKeyframes(),this.complete())}readKeyframes(){const{unresolvedKeyframes:t,name:n,element:r,motionValue:s}=this;if(t[0]===null){const o=s?.get(),i=t[t.length-1];if(o!==void 0)t[0]=o;else if(r&&n){const l=r.readValue(n,i);l!=null&&(t[0]=l)}t[0]===void 0&&(t[0]=i),s&&o===void 0&&s.set(t[0])}hs(t)}setFinalKeyframe(){}measureInitialState(){}renderEndStyles(){}measureEndState(){}complete(t=!1){this.state="complete",this.onComplete(this.unresolvedKeyframes,this.finalKeyframe,t),ie.delete(this)}cancel(){this.state==="scheduled"&&(ie.delete(this),this.state="pending")}resume(){this.state==="pending"&&this.scheduleResolve()}}const ks=e=>e.startsWith("--");function Ts(e,t,n){ks(t)?e.style.setProperty(t,n):e.style[t]=n}const Ms=wt(()=>window.ScrollTimeline!==void 0),As={};function Ss(e,t){const n=wt(e);return()=>As[t]??n()}const On=Ss(()=>{try{document.createElement("div").animate({opacity:0},{easing:"linear(0, 1)"})}catch{return!1}return!0},"linearEasing"),we=([e,t,n,r])=>`cubic-bezier(${e}, ${t}, ${n}, ${r})`,Yt={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:we([0,.65,.55,1]),circOut:we([.55,0,1,.45]),backIn:we([.31,.01,.66,-.59]),backOut:we([.33,1.53,.69,.99])};function _n(e,t){if(e)return typeof e=="function"?On()?Rn(e,t):"ease-out":xn(e)?we(e):Array.isArray(e)?e.map(n=>_n(n,t)||Yt.easeOut):Yt[e]}function Es(e,t,n,{delay:r=0,duration:s=300,repeat:o=0,repeatType:i="loop",ease:l="easeOut",times:a}={},u=void 0){const d={[t]:n};a&&(d.offset=a);const m=_n(l,s);Array.isArray(m)&&(d.easing=m);const g={delay:r,duration:s,easing:Array.isArray(m)?"linear":m,fill:"both",iterations:o+1,direction:i==="reverse"?"alternate":"normal"};return u&&(g.pseudoElement=u),e.animate(d,g)}function Kn(e){return typeof e=="function"&&"applyToOptions"in e}function Ps({type:e,...t}){return Kn(e)&&On()?e.applyToOptions(t):(t.duration??(t.duration=300),t.ease??(t.ease="easeOut"),t)}class Is extends It{constructor(t){if(super(),this.finishedTime=null,this.isStopped=!1,!t)return;const{element:n,name:r,keyframes:s,pseudoElement:o,allowFlatten:i=!1,finalKeyframe:l,onComplete:a}=t;this.isPseudoElement=!!o,this.allowFlatten=i,this.options=t,yt(typeof t.type!="string");const u=Ps(t);this.animation=Es(n,r,s,u,o),u.autoplay===!1&&this.animation.pause(),this.animation.onfinish=()=>{if(this.finishedTime=this.time,!o){const d=Pt(s,this.options,l,this.speed);this.updateMotionValue?this.updateMotionValue(d):Ts(n,r,d),this.animation.cancel()}a?.(),this.notifyFinished()}}play(){this.isStopped||(this.animation.play(),this.state==="finished"&&this.updateFinished())}pause(){this.animation.pause()}complete(){this.animation.finish?.()}cancel(){try{this.animation.cancel()}catch{}}stop(){if(this.isStopped)return;this.isStopped=!0;const{state:t}=this;t==="idle"||t==="finished"||(this.updateMotionValue?this.updateMotionValue():this.commitStyles(),this.isPseudoElement||this.cancel())}commitStyles(){this.isPseudoElement||this.animation.commitStyles?.()}get duration(){const t=this.animation.effect?.getComputedTiming?.().duration||0;return X(Number(t))}get time(){return X(Number(this.animation.currentTime)||0)}set time(t){this.finishedTime=null,this.animation.currentTime=he(t)}get speed(){return this.animation.playbackRate}set speed(t){t<0&&(this.finishedTime=null),this.animation.playbackRate=t}get state(){return this.finishedTime!==null?"finished":this.animation.playState}get startTime(){return Number(this.animation.startTime)}set startTime(t){this.animation.startTime=t}attachTimeline({timeline:t,observe:n}){return this.allowFlatten&&this.animation.effect?.updateTiming({easing:"linear"}),this.animation.onfinish=null,t&&Ms()?(this.animation.timeline=t,me):n(this)}}const Bn={anticipate:yn,backInOut:bn,circInOut:wn};function Cs(e){return e in Bn}function Rs(e){typeof e.ease=="string"&&Cs(e.ease)&&(e.ease=Bn[e.ease])}const Xt=10;class Vs extends Is{constructor(t){Rs(t),Dn(t),super(t),t.startTime&&(this.startTime=t.startTime),this.options=t}updateMotionValue(t){const{motionValue:n,onUpdate:r,onComplete:s,element:o,...i}=this.options;if(!n)return;if(t!==void 0){n.set(t);return}const l=new Fn({...i,autoplay:!1}),a=he(this.finishedTime??this.time);n.setWithVelocity(l.sample(a-Xt).value,l.sample(a).value,Xt),l.stop()}}const qt=(e,t)=>t==="zIndex"?!1:!!(typeof e=="number"||Array.isArray(e)||typeof e=="string"&&(Ee.test(e)||e==="0")&&!e.startsWith("url("));function Ds(e){const t=e[0];if(e.length===1)return!0;for(let n=0;n<e.length;n++)if(e[n]!==t)return!0}function Fs(e,t,n,r){const s=e[0];if(s===null)return!1;if(t==="display"||t==="visibility")return!0;const o=e[e.length-1],i=qt(s,t),l=qt(o,t);return!i||!l?!1:Ds(e)||(n==="spring"||Kn(n))&&r}function Ns(e){e.duration=0,e.type}const zs=new Set(["opacity","clipPath","filter","transform"]),Ls=wt(()=>Object.hasOwnProperty.call(Element.prototype,"animate"));function Os(e){const{motionValue:t,name:n,repeatDelay:r,repeatType:s,damping:o,type:i}=e;if(!(t?.owner?.current instanceof HTMLElement))return!1;const{onUpdate:a,transformTemplate:u}=t.owner.getProps();return Ls()&&n&&zs.has(n)&&(n!=="transform"||!u)&&!a&&!r&&s!=="mirror"&&o!==0&&i!=="inertia"}const _s=40;class ii extends It{constructor({autoplay:t=!0,delay:n=0,type:r="keyframes",repeat:s=0,repeatDelay:o=0,repeatType:i="loop",keyframes:l,name:a,motionValue:u,element:d,...m}){super(),this.stop=()=>{this._animation&&(this._animation.stop(),this.stopTimeline?.()),this.keyframeResolver?.cancel()},this.createdAt=U.now();const g={autoplay:t,delay:n,type:r,repeat:s,repeatDelay:o,repeatType:i,name:a,motionValue:u,element:d,...m},T=d?.KeyframeResolver||Ln;this.keyframeResolver=new T(l,(w,x,I)=>this.onKeyframesResolved(w,x,g,!I),a,u,d),this.keyframeResolver?.scheduleResolve()}onKeyframesResolved(t,n,r,s){this.keyframeResolver=void 0;const{name:o,type:i,velocity:l,delay:a,isHandoff:u,onUpdate:d}=r;this.resolvedAt=U.now(),Fs(t,o,i,l)||((ke.instantAnimations||!a)&&d?.(Pt(t,r,n)),t[0]=t[t.length-1],Ns(r),r.repeat=0);const g={startTime:s?this.resolvedAt?this.resolvedAt-this.createdAt>_s?this.resolvedAt:this.createdAt:this.createdAt:void 0,finalKeyframe:n,...r,keyframes:t},T=!u&&Os(g)?new Vs({...g,element:g.motionValue.owner.current}):new Fn(g);T.finished.then(()=>this.notifyFinished()).catch(me),this.pendingTimeline&&(this.stopTimeline=T.attachTimeline(this.pendingTimeline),this.pendingTimeline=void 0),this._animation=T}get finished(){return this._animation?this.animation.finished:this._finished}then(t,n){return this.finished.finally(t).then(()=>{})}get animation(){return this._animation||(this.keyframeResolver?.resume(),xs()),this._animation}get duration(){return this.animation.duration}get time(){return this.animation.time}set time(t){this.animation.time=t}get speed(){return this.animation.speed}get state(){return this.animation.state}set speed(t){this.animation.speed=t}get startTime(){return this.animation.startTime}attachTimeline(t){return this._animation?this.stopTimeline=this.animation.attachTimeline(t):this.pendingTimeline=t,()=>this.stop()}play(){this.animation.play()}pause(){this.animation.pause()}complete(){this.animation.complete()}cancel(){this._animation&&this.animation.cancel(),this.keyframeResolver?.cancel()}}const Ks=/^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u;function Bs(e){const t=Ks.exec(e);if(!t)return[,];const[,n,r,s]=t;return[`--${n??r}`,s]}function Gn(e,t,n=1){const[r,s]=Bs(e);if(!r)return;const o=window.getComputedStyle(t).getPropertyValue(r);if(o){const i=o.trim();return ur(i)?parseFloat(i):i}return Tt(s)?Gn(s,t,n+1):s}function ai(e,t){return e?.[t]??e?.default??e}const Gs=new Set(["width","height","top","left","right","bottom",...Ct]),Ws={test:e=>e==="auto",parse:e=>e},Wn=e=>t=>t.test(e),jn=[pe,v,fe,ee,Fr,Dr,Ws],Zt=e=>jn.find(Wn(e));function js(e){return typeof e=="number"?e===0:e!==null?e==="none"||e==="0"||dr(e):!0}const Us=new Set(["brightness","contrast","saturate","opacity"]);function $s(e){const[t,n]=e.slice(0,-1).split("(");if(t==="drop-shadow")return e;const[r]=n.match(Mt)||[];if(!r)return e;const s=n.replace(r,"");let o=Us.has(t)?1:0;return r!==n&&(o*=100),t+"("+o+s+")"}const Ys=/\b([a-z-]*)\(.*?\)/gu,ft={...Ee,getAnimatableNone:e=>{const t=e.match(Ys);return t?t.map($s).join(" "):e}},Ht={...pe,transform:Math.round},Xs={rotate:ee,rotateX:ee,rotateY:ee,rotateZ:ee,scale:Ve,scaleX:Ve,scaleY:Ve,scaleZ:Ve,skew:ee,skewX:ee,skewY:ee,distance:v,translateX:v,translateY:v,translateZ:v,x:v,y:v,z:v,perspective:v,transformPerspective:v,opacity:Te,originX:Lt,originY:Lt,originZ:v},qs={borderWidth:v,borderTopWidth:v,borderRightWidth:v,borderBottomWidth:v,borderLeftWidth:v,borderRadius:v,radius:v,borderTopLeftRadius:v,borderTopRightRadius:v,borderBottomRightRadius:v,borderBottomLeftRadius:v,width:v,maxWidth:v,height:v,maxHeight:v,top:v,right:v,bottom:v,left:v,padding:v,paddingTop:v,paddingRight:v,paddingBottom:v,paddingLeft:v,margin:v,marginTop:v,marginRight:v,marginBottom:v,marginLeft:v,backgroundPositionX:v,backgroundPositionY:v,...Xs,zIndex:Ht,fillOpacity:Te,strokeOpacity:Te,numOctaves:Ht},Zs={...qs,color:O,backgroundColor:O,outlineColor:O,fill:O,stroke:O,borderColor:O,borderTopColor:O,borderRightColor:O,borderBottomColor:O,borderLeftColor:O,filter:ft,WebkitFilter:ft},Hs=e=>Zs[e];function Js(e,t){let n=Hs(e);return n!==ft&&(n=Ee),n.getAnimatableNone?n.getAnimatableNone(t):void 0}const Qs=new Set(["auto","none","0"]);function eo(e,t,n){let r=0,s;for(;r<e.length&&!s;){const o=e[r];typeof o=="string"&&!Qs.has(o)&&Me(o).values.length&&(s=e[r]),r++}if(s&&n)for(const o of t)e[o]=Js(n,s)}class li extends Ln{constructor(t,n,r,s,o){super(t,n,r,s,o,!0)}readKeyframes(){const{unresolvedKeyframes:t,element:n,name:r}=this;if(!n||!n.current)return;super.readKeyframes();for(let a=0;a<t.length;a++){let u=t[a];if(typeof u=="string"&&(u=u.trim(),Tt(u))){const d=Gn(u,n.current);d!==void 0&&(t[a]=d),a===t.length-1&&(this.finalKeyframe=u)}}if(this.resolveNoneKeyframes(),!Gs.has(r)||t.length!==2)return;const[s,o]=t,i=Zt(s),l=Zt(o);if(i!==l)if($t(i)&&$t(l))for(let a=0;a<t.length;a++){const u=t[a];typeof u=="string"&&(t[a]=parseFloat(u))}else oe[r]&&(this.needsMeasurement=!0)}resolveNoneKeyframes(){const{unresolvedKeyframes:t,name:n}=this,r=[];for(let s=0;s<t.length;s++)(t[s]===null||js(t[s]))&&r.push(s);r.length&&eo(t,r,n)}measureInitialState(){const{element:t,unresolvedKeyframes:n,name:r}=this;if(!t||!t.current)return;r==="height"&&(this.suspendedScrollY=window.pageYOffset),this.measuredOrigin=oe[r](t.measureViewportBox(),window.getComputedStyle(t.current)),n[0]=this.measuredOrigin;const s=n[n.length-1];s!==void 0&&t.getValue(r,s).jump(s,!1)}measureEndState(){const{element:t,name:n,unresolvedKeyframes:r}=this;if(!t||!t.current)return;const s=t.getValue(n);s&&s.jump(this.measuredOrigin,!1);const o=r.length-1,i=r[o];r[o]=oe[n](t.measureViewportBox(),window.getComputedStyle(t.current)),i!==null&&this.finalKeyframe===void 0&&(this.finalKeyframe=i),this.removedTransforms?.length&&this.removedTransforms.forEach(([l,a])=>{t.getValue(l).set(a)}),this.resolveNoneKeyframes()}}function to(e,t,n){if(e instanceof EventTarget)return[e];if(typeof e=="string"){let r=document;const s=n?.[e]??r.querySelectorAll(e);return s?Array.from(s):[]}return Array.from(e)}const ci=(e,t)=>t&&typeof e=="number"?t.transform(e):e;function no(e){return un(e)&&"offsetHeight"in e}const Jt=30,ro=e=>!isNaN(parseFloat(e));class so{constructor(t,n={}){this.canTrackVelocity=null,this.events={},this.updateAndNotify=r=>{const s=U.now();if(this.updatedAt!==s&&this.setPrevFrameValue(),this.prev=this.current,this.setCurrent(r),this.current!==this.prev&&(this.events.change?.notify(this.current),this.dependents))for(const o of this.dependents)o.dirty()},this.hasAnimated=!1,this.setCurrent(t),this.owner=n.owner}setCurrent(t){this.current=t,this.updatedAt=U.now(),this.canTrackVelocity===null&&t!==void 0&&(this.canTrackVelocity=ro(this.current))}setPrevFrameValue(t=this.current){this.prevFrameValue=t,this.prevUpdatedAt=this.updatedAt}onChange(t){return this.on("change",t)}on(t,n){this.events[t]||(this.events[t]=new mr);const r=this.events[t].add(n);return t==="change"?()=>{r(),Le.read(()=>{this.events.change.getSize()||this.stop()})}:r}clearListeners(){for(const t in this.events)this.events[t].clear()}attach(t,n){this.passiveEffect=t,this.stopPassiveEffect=n}set(t){this.passiveEffect?this.passiveEffect(t,this.updateAndNotify):this.updateAndNotify(t)}setWithVelocity(t,n,r){this.set(n),this.prev=void 0,this.prevFrameValue=t,this.prevUpdatedAt=this.updatedAt-r}jump(t,n=!0){this.updateAndNotify(t),this.prev=t,this.prevUpdatedAt=this.prevFrameValue=void 0,n&&this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}dirty(){this.events.change?.notify(this.current)}addDependent(t){this.dependents||(this.dependents=new Set),this.dependents.add(t)}removeDependent(t){this.dependents&&this.dependents.delete(t)}get(){return this.current}getPrevious(){return this.prev}getVelocity(){const t=U.now();if(!this.canTrackVelocity||this.prevFrameValue===void 0||t-this.updatedAt>Jt)return 0;const n=Math.min(this.updatedAt-this.prevUpdatedAt,Jt);return fn(parseFloat(this.current)-parseFloat(this.prevFrameValue),n)}start(t){return this.stop(),new Promise(n=>{this.hasAnimated=!0,this.animation=t(n),this.events.animationStart&&this.events.animationStart.notify()}).then(()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()})}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){delete this.animation}destroy(){this.dependents?.clear(),this.events.destroy?.notify(),this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}}function ui(e,t){return new so(e,t)}const{schedule:di}=kn(queueMicrotask,!1),j={x:!1,y:!1};function Un(){return j.x||j.y}function fi(e){return e==="x"||e==="y"?j[e]?null:(j[e]=!0,()=>{j[e]=!1}):j.x||j.y?null:(j.x=j.y=!0,()=>{j.x=j.y=!1})}function $n(e,t){const n=to(e),r=new AbortController,s={passive:!0,...t,signal:r.signal};return[n,s,()=>r.abort()]}function Qt(e){return!(e.pointerType==="touch"||Un())}function mi(e,t,n={}){const[r,s,o]=$n(e,n),i=l=>{if(!Qt(l))return;const{target:a}=l,u=t(a,l);if(typeof u!="function"||!a)return;const d=m=>{Qt(m)&&(u(m),a.removeEventListener("pointerleave",d))};a.addEventListener("pointerleave",d,s)};return r.forEach(l=>{l.addEventListener("pointerenter",i,s)}),o}const Yn=(e,t)=>t?e===t?!0:Yn(e,t.parentElement):!1,oo=e=>e.pointerType==="mouse"?typeof e.button!="number"||e.button<=0:e.isPrimary!==!1,io=new Set(["BUTTON","INPUT","SELECT","TEXTAREA","A"]);function ao(e){return io.has(e.tagName)||e.tabIndex!==-1}const ze=new WeakSet;function en(e){return t=>{t.key==="Enter"&&e(t)}}function Ze(e,t){e.dispatchEvent(new PointerEvent("pointer"+t,{isPrimary:!0,bubbles:!0}))}const lo=(e,t)=>{const n=e.currentTarget;if(!n)return;const r=en(()=>{if(ze.has(n))return;Ze(n,"down");const s=en(()=>{Ze(n,"up")}),o=()=>Ze(n,"cancel");n.addEventListener("keyup",s,t),n.addEventListener("blur",o,t)});n.addEventListener("keydown",r,t),n.addEventListener("blur",()=>n.removeEventListener("keydown",r),t)};function tn(e){return oo(e)&&!Un()}function hi(e,t,n={}){const[r,s,o]=$n(e,n),i=l=>{const a=l.currentTarget;if(!tn(l))return;ze.add(a);const u=t(a,l),d=(T,w)=>{window.removeEventListener("pointerup",m),window.removeEventListener("pointercancel",g),ze.has(a)&&ze.delete(a),tn(T)&&typeof u=="function"&&u(T,{success:w})},m=T=>{d(T,a===window||a===document||n.useGlobalTarget||Yn(a,T.target))},g=T=>{d(T,!1)};window.addEventListener("pointerup",m,s),window.addEventListener("pointercancel",g,s)};return r.forEach(l=>{(n.useGlobalTarget?window:l).addEventListener("pointerdown",i,s),no(l)&&(l.addEventListener("focus",u=>lo(u,s)),!ao(l)&&!l.hasAttribute("tabindex")&&(l.tabIndex=0))}),o}function co(e){return un(e)&&"ownerSVGElement"in e}function pi(e){return co(e)&&e.tagName==="svg"}const gi=e=>!!(e&&e.getVelocity),uo=[...jn,O,Ee],bi=e=>uo.find(Wn(e)),fo=(e,t)=>t.some(n=>e instanceof n);let nn,rn;function mo(){return nn||(nn=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function ho(){return rn||(rn=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}const Xn=new WeakMap,mt=new WeakMap,qn=new WeakMap,He=new WeakMap,Rt=new WeakMap;function po(e){const t=new Promise((n,r)=>{const s=()=>{e.removeEventListener("success",o),e.removeEventListener("error",i)},o=()=>{n(te(e.result)),s()},i=()=>{r(e.error),s()};e.addEventListener("success",o),e.addEventListener("error",i)});return t.then(n=>{n instanceof IDBCursor&&Xn.set(n,e)}).catch(()=>{}),Rt.set(t,e),t}function go(e){if(mt.has(e))return;const t=new Promise((n,r)=>{const s=()=>{e.removeEventListener("complete",o),e.removeEventListener("error",i),e.removeEventListener("abort",i)},o=()=>{n(),s()},i=()=>{r(e.error||new DOMException("AbortError","AbortError")),s()};e.addEventListener("complete",o),e.addEventListener("error",i),e.addEventListener("abort",i)});mt.set(e,t)}let ht={get(e,t,n){if(e instanceof IDBTransaction){if(t==="done")return mt.get(e);if(t==="objectStoreNames")return e.objectStoreNames||qn.get(e);if(t==="store")return n.objectStoreNames[1]?void 0:n.objectStore(n.objectStoreNames[0])}return te(e[t])},set(e,t,n){return e[t]=n,!0},has(e,t){return e instanceof IDBTransaction&&(t==="done"||t==="store")?!0:t in e}};function bo(e){ht=e(ht)}function yo(e){return e===IDBDatabase.prototype.transaction&&!("objectStoreNames"in IDBTransaction.prototype)?function(t,...n){const r=e.call(Je(this),t,...n);return qn.set(r,t.sort?t.sort():[t]),te(r)}:ho().includes(e)?function(...t){return e.apply(Je(this),t),te(Xn.get(this))}:function(...t){return te(e.apply(Je(this),t))}}function wo(e){return typeof e=="function"?yo(e):(e instanceof IDBTransaction&&go(e),fo(e,mo())?new Proxy(e,ht):e)}function te(e){if(e instanceof IDBRequest)return po(e);if(He.has(e))return He.get(e);const t=wo(e);return t!==e&&(He.set(e,t),Rt.set(t,e)),t}const Je=e=>Rt.get(e);function yi(e,t,{blocked:n,upgrade:r,blocking:s,terminated:o}={}){const i=indexedDB.open(e,t),l=te(i);return r&&i.addEventListener("upgradeneeded",a=>{r(te(i.result),a.oldVersion,a.newVersion,te(i.transaction),a)}),n&&i.addEventListener("blocked",a=>n(a.oldVersion,a.newVersion,a)),l.then(a=>{o&&a.addEventListener("close",()=>o()),s&&a.addEventListener("versionchange",u=>s(u.oldVersion,u.newVersion,u))}).catch(()=>{}),l}const vo=["get","getKey","getAll","getAllKeys","count"],xo=["put","add","delete","clear"],Qe=new Map;function sn(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&typeof t=="string"))return;if(Qe.get(t))return Qe.get(t);const n=t.replace(/FromIndex$/,""),r=t!==n,s=xo.includes(n);if(!(n in(r?IDBIndex:IDBObjectStore).prototype)||!(s||vo.includes(n)))return;const o=async function(i,...l){const a=this.transaction(i,s?"readwrite":"readonly");let u=a.store;return r&&(u=u.index(l.shift())),(await Promise.all([u[n](...l),s&&a.done]))[0]};return Qe.set(t,o),o}bo(e=>({...e,get:(t,n,r)=>sn(t,n)||e.get(t,n,r),has:(t,n)=>!!sn(t,n)||e.has(t,n)}));function Zn(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var s=e.length;for(t=0;t<s;t++)e[t]&&(n=Zn(e[t]))&&(r&&(r+=" "),r+=n)}else for(n in e)e[n]&&(r&&(r+=" "),r+=n);return r}function wi(){for(var e,t,n=0,r="",s=arguments.length;n<s;n++)(e=arguments[n])&&(t=Zn(e))&&(r&&(r+=" "),r+=t);return r}const Vt="-",ko=e=>{const t=Mo(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:i=>{const l=i.split(Vt);return l[0]===""&&l.length!==1&&l.shift(),Hn(l,t)||To(i)},getConflictingClassGroupIds:(i,l)=>{const a=n[i]||[];return l&&r[i]?[...a,...r[i]]:a}}},Hn=(e,t)=>{if(e.length===0)return t.classGroupId;const n=e[0],r=t.nextPart.get(n),s=r?Hn(e.slice(1),r):void 0;if(s)return s;if(t.validators.length===0)return;const o=e.join(Vt);return t.validators.find(({validator:i})=>i(o))?.classGroupId},on=/^\[(.+)\]$/,To=e=>{if(on.test(e)){const t=on.exec(e)[1],n=t?.substring(0,t.indexOf(":"));if(n)return"arbitrary.."+n}},Mo=e=>{const{theme:t,classGroups:n}=e,r={nextPart:new Map,validators:[]};for(const s in n)pt(n[s],r,s,t);return r},pt=(e,t,n,r)=>{e.forEach(s=>{if(typeof s=="string"){const o=s===""?t:an(t,s);o.classGroupId=n;return}if(typeof s=="function"){if(Ao(s)){pt(s(r),t,n,r);return}t.validators.push({validator:s,classGroupId:n});return}Object.entries(s).forEach(([o,i])=>{pt(i,an(t,o),n,r)})})},an=(e,t)=>{let n=e;return t.split(Vt).forEach(r=>{n.nextPart.has(r)||n.nextPart.set(r,{nextPart:new Map,validators:[]}),n=n.nextPart.get(r)}),n},Ao=e=>e.isThemeGetter,So=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,n=new Map,r=new Map;const s=(o,i)=>{n.set(o,i),t++,t>e&&(t=0,r=n,n=new Map)};return{get(o){let i=n.get(o);if(i!==void 0)return i;if((i=r.get(o))!==void 0)return s(o,i),i},set(o,i){n.has(o)?n.set(o,i):s(o,i)}}},gt="!",bt=":",Eo=bt.length,Po=e=>{const{prefix:t,experimentalParseClassName:n}=e;let r=s=>{const o=[];let i=0,l=0,a=0,u;for(let w=0;w<s.length;w++){let x=s[w];if(i===0&&l===0){if(x===bt){o.push(s.slice(a,w)),a=w+Eo;continue}if(x==="/"){u=w;continue}}x==="["?i++:x==="]"?i--:x==="("?l++:x===")"&&l--}const d=o.length===0?s:s.substring(a),m=Io(d),g=m!==d,T=u&&u>a?u-a:void 0;return{modifiers:o,hasImportantModifier:g,baseClassName:m,maybePostfixModifierPosition:T}};if(t){const s=t+bt,o=r;r=i=>i.startsWith(s)?o(i.substring(s.length)):{isExternal:!0,modifiers:[],hasImportantModifier:!1,baseClassName:i,maybePostfixModifierPosition:void 0}}if(n){const s=r;r=o=>n({className:o,parseClassName:s})}return r},Io=e=>e.endsWith(gt)?e.substring(0,e.length-1):e.startsWith(gt)?e.substring(1):e,Co=e=>{const t=Object.fromEntries(e.orderSensitiveModifiers.map(r=>[r,!0]));return r=>{if(r.length<=1)return r;const s=[];let o=[];return r.forEach(i=>{i[0]==="["||t[i]?(s.push(...o.sort(),i),o=[]):o.push(i)}),s.push(...o.sort()),s}},Ro=e=>({cache:So(e.cacheSize),parseClassName:Po(e),sortModifiers:Co(e),...ko(e)}),Vo=/\s+/,Do=(e,t)=>{const{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:s,sortModifiers:o}=t,i=[],l=e.trim().split(Vo);let a="";for(let u=l.length-1;u>=0;u-=1){const d=l[u],{isExternal:m,modifiers:g,hasImportantModifier:T,baseClassName:w,maybePostfixModifierPosition:x}=n(d);if(m){a=d+(a.length>0?" "+a:a);continue}let I=!!x,E=r(I?w.substring(0,x):w);if(!E){if(!I){a=d+(a.length>0?" "+a:a);continue}if(E=r(w),!E){a=d+(a.length>0?" "+a:a);continue}I=!1}const K=o(g).join(":"),S=T?K+gt:K,P=S+E;if(i.includes(P))continue;i.push(P);const b=s(E,I);for(let A=0;A<b.length;++A){const C=b[A];i.push(S+C)}a=d+(a.length>0?" "+a:a)}return a};function Fo(){let e=0,t,n,r="";for(;e<arguments.length;)(t=arguments[e++])&&(n=Jn(t))&&(r&&(r+=" "),r+=n);return r}const Jn=e=>{if(typeof e=="string")return e;let t,n="";for(let r=0;r<e.length;r++)e[r]&&(t=Jn(e[r]))&&(n&&(n+=" "),n+=t);return n};function No(e,...t){let n,r,s,o=i;function i(a){const u=t.reduce((d,m)=>m(d),e());return n=Ro(u),r=n.cache.get,s=n.cache.set,o=l,l(a)}function l(a){const u=r(a);if(u)return u;const d=Do(a,n);return s(a,d),d}return function(){return o(Fo.apply(null,arguments))}}const _=e=>{const t=n=>n[e]||[];return t.isThemeGetter=!0,t},Qn=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,er=/^\((?:(\w[\w-]*):)?(.+)\)$/i,zo=/^\d+\/\d+$/,Lo=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Oo=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,_o=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,Ko=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Bo=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,ue=e=>zo.test(e),M=e=>!!e&&!Number.isNaN(Number(e)),Q=e=>!!e&&Number.isInteger(Number(e)),et=e=>e.endsWith("%")&&M(e.slice(0,-1)),Y=e=>Lo.test(e),Go=()=>!0,Wo=e=>Oo.test(e)&&!_o.test(e),tr=()=>!1,jo=e=>Ko.test(e),Uo=e=>Bo.test(e),$o=e=>!h(e)&&!p(e),Yo=e=>ge(e,sr,tr),h=e=>Qn.test(e),ne=e=>ge(e,or,Wo),tt=e=>ge(e,Jo,M),ln=e=>ge(e,nr,tr),Xo=e=>ge(e,rr,Uo),De=e=>ge(e,ir,jo),p=e=>er.test(e),ye=e=>be(e,or),qo=e=>be(e,Qo),cn=e=>be(e,nr),Zo=e=>be(e,sr),Ho=e=>be(e,rr),Fe=e=>be(e,ir,!0),ge=(e,t,n)=>{const r=Qn.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},be=(e,t,n=!1)=>{const r=er.exec(e);return r?r[1]?t(r[1]):n:!1},nr=e=>e==="position"||e==="percentage",rr=e=>e==="image"||e==="url",sr=e=>e==="length"||e==="size"||e==="bg-size",or=e=>e==="length",Jo=e=>e==="number",Qo=e=>e==="family-name",ir=e=>e==="shadow",ei=()=>{const e=_("color"),t=_("font"),n=_("text"),r=_("font-weight"),s=_("tracking"),o=_("leading"),i=_("breakpoint"),l=_("container"),a=_("spacing"),u=_("radius"),d=_("shadow"),m=_("inset-shadow"),g=_("text-shadow"),T=_("drop-shadow"),w=_("blur"),x=_("perspective"),I=_("aspect"),E=_("ease"),K=_("animate"),S=()=>["auto","avoid","all","avoid-page","page","left","right","column"],P=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],b=()=>[...P(),p,h],A=()=>["auto","hidden","clip","visible","scroll"],C=()=>["auto","contain","none"],f=()=>[p,h,a],R=()=>[ue,"full","auto",...f()],B=()=>[Q,"none","subgrid",p,h],le=()=>["auto",{span:["full",Q,p,h]},Q,p,h],q=()=>[Q,"auto",p,h],Z=()=>["auto","min","max","fr",p,h],ce=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],H=()=>["start","end","center","stretch","center-safe","end-safe"],G=()=>["auto",...f()],W=()=>[ue,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...f()],c=()=>[e,p,h],y=()=>[...P(),cn,ln,{position:[p,h]}],k=()=>["no-repeat",{repeat:["","x","y","space","round"]}],V=()=>["auto","cover","contain",Zo,Yo,{size:[p,h]}],F=()=>[et,ye,ne],L=()=>["","none","full",u,p,h],z=()=>["",M,ye,ne],J=()=>["solid","dashed","dotted","double"],$=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],D=()=>[M,et,cn,ln],Dt=()=>["","none",w,p,h],Pe=()=>["none",M,p,h],Ie=()=>["none",M,p,h],We=()=>[M,p,h],Ce=()=>[ue,"full",...f()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[Y],breakpoint:[Y],color:[Go],container:[Y],"drop-shadow":[Y],ease:["in","out","in-out"],font:[$o],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[Y],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[Y],shadow:[Y],spacing:["px",M],text:[Y],"text-shadow":[Y],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",ue,h,p,I]}],container:["container"],columns:[{columns:[M,h,p,l]}],"break-after":[{"break-after":S()}],"break-before":[{"break-before":S()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:b()}],overflow:[{overflow:A()}],"overflow-x":[{"overflow-x":A()}],"overflow-y":[{"overflow-y":A()}],overscroll:[{overscroll:C()}],"overscroll-x":[{"overscroll-x":C()}],"overscroll-y":[{"overscroll-y":C()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:R()}],"inset-x":[{"inset-x":R()}],"inset-y":[{"inset-y":R()}],start:[{start:R()}],end:[{end:R()}],top:[{top:R()}],right:[{right:R()}],bottom:[{bottom:R()}],left:[{left:R()}],visibility:["visible","invisible","collapse"],z:[{z:[Q,"auto",p,h]}],basis:[{basis:[ue,"full","auto",l,...f()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[M,ue,"auto","initial","none",h]}],grow:[{grow:["",M,p,h]}],shrink:[{shrink:["",M,p,h]}],order:[{order:[Q,"first","last","none",p,h]}],"grid-cols":[{"grid-cols":B()}],"col-start-end":[{col:le()}],"col-start":[{"col-start":q()}],"col-end":[{"col-end":q()}],"grid-rows":[{"grid-rows":B()}],"row-start-end":[{row:le()}],"row-start":[{"row-start":q()}],"row-end":[{"row-end":q()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":Z()}],"auto-rows":[{"auto-rows":Z()}],gap:[{gap:f()}],"gap-x":[{"gap-x":f()}],"gap-y":[{"gap-y":f()}],"justify-content":[{justify:[...ce(),"normal"]}],"justify-items":[{"justify-items":[...H(),"normal"]}],"justify-self":[{"justify-self":["auto",...H()]}],"align-content":[{content:["normal",...ce()]}],"align-items":[{items:[...H(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...H(),{baseline:["","last"]}]}],"place-content":[{"place-content":ce()}],"place-items":[{"place-items":[...H(),"baseline"]}],"place-self":[{"place-self":["auto",...H()]}],p:[{p:f()}],px:[{px:f()}],py:[{py:f()}],ps:[{ps:f()}],pe:[{pe:f()}],pt:[{pt:f()}],pr:[{pr:f()}],pb:[{pb:f()}],pl:[{pl:f()}],m:[{m:G()}],mx:[{mx:G()}],my:[{my:G()}],ms:[{ms:G()}],me:[{me:G()}],mt:[{mt:G()}],mr:[{mr:G()}],mb:[{mb:G()}],ml:[{ml:G()}],"space-x":[{"space-x":f()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":f()}],"space-y-reverse":["space-y-reverse"],size:[{size:W()}],w:[{w:[l,"screen",...W()]}],"min-w":[{"min-w":[l,"screen","none",...W()]}],"max-w":[{"max-w":[l,"screen","none","prose",{screen:[i]},...W()]}],h:[{h:["screen","lh",...W()]}],"min-h":[{"min-h":["screen","lh","none",...W()]}],"max-h":[{"max-h":["screen","lh",...W()]}],"font-size":[{text:["base",n,ye,ne]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[r,p,tt]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",et,h]}],"font-family":[{font:[qo,h,t]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[s,p,h]}],"line-clamp":[{"line-clamp":[M,"none",p,tt]}],leading:[{leading:[o,...f()]}],"list-image":[{"list-image":["none",p,h]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",p,h]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:c()}],"text-color":[{text:c()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...J(),"wavy"]}],"text-decoration-thickness":[{decoration:[M,"from-font","auto",p,ne]}],"text-decoration-color":[{decoration:c()}],"underline-offset":[{"underline-offset":[M,"auto",p,h]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:f()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",p,h]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",p,h]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:y()}],"bg-repeat":[{bg:k()}],"bg-size":[{bg:V()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},Q,p,h],radial:["",p,h],conic:[Q,p,h]},Ho,Xo]}],"bg-color":[{bg:c()}],"gradient-from-pos":[{from:F()}],"gradient-via-pos":[{via:F()}],"gradient-to-pos":[{to:F()}],"gradient-from":[{from:c()}],"gradient-via":[{via:c()}],"gradient-to":[{to:c()}],rounded:[{rounded:L()}],"rounded-s":[{"rounded-s":L()}],"rounded-e":[{"rounded-e":L()}],"rounded-t":[{"rounded-t":L()}],"rounded-r":[{"rounded-r":L()}],"rounded-b":[{"rounded-b":L()}],"rounded-l":[{"rounded-l":L()}],"rounded-ss":[{"rounded-ss":L()}],"rounded-se":[{"rounded-se":L()}],"rounded-ee":[{"rounded-ee":L()}],"rounded-es":[{"rounded-es":L()}],"rounded-tl":[{"rounded-tl":L()}],"rounded-tr":[{"rounded-tr":L()}],"rounded-br":[{"rounded-br":L()}],"rounded-bl":[{"rounded-bl":L()}],"border-w":[{border:z()}],"border-w-x":[{"border-x":z()}],"border-w-y":[{"border-y":z()}],"border-w-s":[{"border-s":z()}],"border-w-e":[{"border-e":z()}],"border-w-t":[{"border-t":z()}],"border-w-r":[{"border-r":z()}],"border-w-b":[{"border-b":z()}],"border-w-l":[{"border-l":z()}],"divide-x":[{"divide-x":z()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":z()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...J(),"hidden","none"]}],"divide-style":[{divide:[...J(),"hidden","none"]}],"border-color":[{border:c()}],"border-color-x":[{"border-x":c()}],"border-color-y":[{"border-y":c()}],"border-color-s":[{"border-s":c()}],"border-color-e":[{"border-e":c()}],"border-color-t":[{"border-t":c()}],"border-color-r":[{"border-r":c()}],"border-color-b":[{"border-b":c()}],"border-color-l":[{"border-l":c()}],"divide-color":[{divide:c()}],"outline-style":[{outline:[...J(),"none","hidden"]}],"outline-offset":[{"outline-offset":[M,p,h]}],"outline-w":[{outline:["",M,ye,ne]}],"outline-color":[{outline:c()}],shadow:[{shadow:["","none",d,Fe,De]}],"shadow-color":[{shadow:c()}],"inset-shadow":[{"inset-shadow":["none",m,Fe,De]}],"inset-shadow-color":[{"inset-shadow":c()}],"ring-w":[{ring:z()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:c()}],"ring-offset-w":[{"ring-offset":[M,ne]}],"ring-offset-color":[{"ring-offset":c()}],"inset-ring-w":[{"inset-ring":z()}],"inset-ring-color":[{"inset-ring":c()}],"text-shadow":[{"text-shadow":["none",g,Fe,De]}],"text-shadow-color":[{"text-shadow":c()}],opacity:[{opacity:[M,p,h]}],"mix-blend":[{"mix-blend":[...$(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":$()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[M]}],"mask-image-linear-from-pos":[{"mask-linear-from":D()}],"mask-image-linear-to-pos":[{"mask-linear-to":D()}],"mask-image-linear-from-color":[{"mask-linear-from":c()}],"mask-image-linear-to-color":[{"mask-linear-to":c()}],"mask-image-t-from-pos":[{"mask-t-from":D()}],"mask-image-t-to-pos":[{"mask-t-to":D()}],"mask-image-t-from-color":[{"mask-t-from":c()}],"mask-image-t-to-color":[{"mask-t-to":c()}],"mask-image-r-from-pos":[{"mask-r-from":D()}],"mask-image-r-to-pos":[{"mask-r-to":D()}],"mask-image-r-from-color":[{"mask-r-from":c()}],"mask-image-r-to-color":[{"mask-r-to":c()}],"mask-image-b-from-pos":[{"mask-b-from":D()}],"mask-image-b-to-pos":[{"mask-b-to":D()}],"mask-image-b-from-color":[{"mask-b-from":c()}],"mask-image-b-to-color":[{"mask-b-to":c()}],"mask-image-l-from-pos":[{"mask-l-from":D()}],"mask-image-l-to-pos":[{"mask-l-to":D()}],"mask-image-l-from-color":[{"mask-l-from":c()}],"mask-image-l-to-color":[{"mask-l-to":c()}],"mask-image-x-from-pos":[{"mask-x-from":D()}],"mask-image-x-to-pos":[{"mask-x-to":D()}],"mask-image-x-from-color":[{"mask-x-from":c()}],"mask-image-x-to-color":[{"mask-x-to":c()}],"mask-image-y-from-pos":[{"mask-y-from":D()}],"mask-image-y-to-pos":[{"mask-y-to":D()}],"mask-image-y-from-color":[{"mask-y-from":c()}],"mask-image-y-to-color":[{"mask-y-to":c()}],"mask-image-radial":[{"mask-radial":[p,h]}],"mask-image-radial-from-pos":[{"mask-radial-from":D()}],"mask-image-radial-to-pos":[{"mask-radial-to":D()}],"mask-image-radial-from-color":[{"mask-radial-from":c()}],"mask-image-radial-to-color":[{"mask-radial-to":c()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":P()}],"mask-image-conic-pos":[{"mask-conic":[M]}],"mask-image-conic-from-pos":[{"mask-conic-from":D()}],"mask-image-conic-to-pos":[{"mask-conic-to":D()}],"mask-image-conic-from-color":[{"mask-conic-from":c()}],"mask-image-conic-to-color":[{"mask-conic-to":c()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:y()}],"mask-repeat":[{mask:k()}],"mask-size":[{mask:V()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",p,h]}],filter:[{filter:["","none",p,h]}],blur:[{blur:Dt()}],brightness:[{brightness:[M,p,h]}],contrast:[{contrast:[M,p,h]}],"drop-shadow":[{"drop-shadow":["","none",T,Fe,De]}],"drop-shadow-color":[{"drop-shadow":c()}],grayscale:[{grayscale:["",M,p,h]}],"hue-rotate":[{"hue-rotate":[M,p,h]}],invert:[{invert:["",M,p,h]}],saturate:[{saturate:[M,p,h]}],sepia:[{sepia:["",M,p,h]}],"backdrop-filter":[{"backdrop-filter":["","none",p,h]}],"backdrop-blur":[{"backdrop-blur":Dt()}],"backdrop-brightness":[{"backdrop-brightness":[M,p,h]}],"backdrop-contrast":[{"backdrop-contrast":[M,p,h]}],"backdrop-grayscale":[{"backdrop-grayscale":["",M,p,h]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[M,p,h]}],"backdrop-invert":[{"backdrop-invert":["",M,p,h]}],"backdrop-opacity":[{"backdrop-opacity":[M,p,h]}],"backdrop-saturate":[{"backdrop-saturate":[M,p,h]}],"backdrop-sepia":[{"backdrop-sepia":["",M,p,h]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":f()}],"border-spacing-x":[{"border-spacing-x":f()}],"border-spacing-y":[{"border-spacing-y":f()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",p,h]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[M,"initial",p,h]}],ease:[{ease:["linear","initial",E,p,h]}],delay:[{delay:[M,p,h]}],animate:[{animate:["none",K,p,h]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[x,p,h]}],"perspective-origin":[{"perspective-origin":b()}],rotate:[{rotate:Pe()}],"rotate-x":[{"rotate-x":Pe()}],"rotate-y":[{"rotate-y":Pe()}],"rotate-z":[{"rotate-z":Pe()}],scale:[{scale:Ie()}],"scale-x":[{"scale-x":Ie()}],"scale-y":[{"scale-y":Ie()}],"scale-z":[{"scale-z":Ie()}],"scale-3d":["scale-3d"],skew:[{skew:We()}],"skew-x":[{"skew-x":We()}],"skew-y":[{"skew-y":We()}],transform:[{transform:[p,h,"","none","gpu","cpu"]}],"transform-origin":[{origin:b()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:Ce()}],"translate-x":[{"translate-x":Ce()}],"translate-y":[{"translate-y":Ce()}],"translate-z":[{"translate-z":Ce()}],"translate-none":["translate-none"],accent:[{accent:c()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:c()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",p,h]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":f()}],"scroll-mx":[{"scroll-mx":f()}],"scroll-my":[{"scroll-my":f()}],"scroll-ms":[{"scroll-ms":f()}],"scroll-me":[{"scroll-me":f()}],"scroll-mt":[{"scroll-mt":f()}],"scroll-mr":[{"scroll-mr":f()}],"scroll-mb":[{"scroll-mb":f()}],"scroll-ml":[{"scroll-ml":f()}],"scroll-p":[{"scroll-p":f()}],"scroll-px":[{"scroll-px":f()}],"scroll-py":[{"scroll-py":f()}],"scroll-ps":[{"scroll-ps":f()}],"scroll-pe":[{"scroll-pe":f()}],"scroll-pt":[{"scroll-pt":f()}],"scroll-pr":[{"scroll-pr":f()}],"scroll-pb":[{"scroll-pb":f()}],"scroll-pl":[{"scroll-pl":f()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",p,h]}],fill:[{fill:["none",...c()]}],"stroke-w":[{stroke:[M,ye,ne,tt]}],stroke:[{stroke:["none",...c()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},vi=No(ei);export{ii as A,Gs as B,oo as C,li as D,Oe as E,vt as F,X as G,dn as H,ae as I,Fn as J,Ln as K,fi as L,ke as M,fe as N,me as O,lr as P,cr as Q,br as R,mr as S,co as T,pi as U,ni as V,mi as W,hi as X,ti as Y,vi as Z,wi as _,ri as a,Ct as b,gi as c,ui as d,U as e,Le as f,ci as g,Ar as h,no as i,ur as j,dr as k,bi as l,Ge as m,qs as n,yi as o,v as p,Ee as q,Js as r,di as s,oi as t,Ut as u,si as v,Hs as w,ai as x,he as y,Ns as z};
|
index.html
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!DOCTYPE html>
|
| 2 |
+
<html lang="en">
|
| 3 |
+
<head>
|
| 4 |
+
<meta charset="UTF-8" />
|
| 5 |
+
<link rel="icon" type="image/svg+xml" href="/src/assets/logo/logo.jpg" />
|
| 6 |
+
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=5.0, user-scalable=yes" />
|
| 7 |
+
<meta name="mobile-web-app-capable" content="yes" />
|
| 8 |
+
<meta name="apple-mobile-web-app-capable" content="yes" />
|
| 9 |
+
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
|
| 10 |
+
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
| 11 |
+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
| 12 |
+
<link
|
| 13 |
+
href="https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Outfit:wght@100..900&family=Roboto+Mono:ital,wght@0,100..700;1,100..700&display=swap"
|
| 14 |
+
rel="stylesheet"
|
| 15 |
+
/>
|
| 16 |
+
<link
|
| 17 |
+
href="https://cdn.jsdelivr.net/npm/remixicon@4.5.0/fonts/remixicon.css"
|
| 18 |
+
rel="stylesheet"
|
| 19 |
+
/>
|
| 20 |
+
<title>Miragic - Where Every Image Radiates an Aura of Imagination</title>
|
| 21 |
+
<script type="module" crossorigin src="./assets/index-CQhYMIc5.js"></script>
|
| 22 |
+
<link rel="modulepreload" crossorigin href="./assets/vendor-other-B0VykD61.js">
|
| 23 |
+
<link rel="modulepreload" crossorigin href="./assets/vendor-CjHduoA4.js">
|
| 24 |
+
<link rel="modulepreload" crossorigin href="./assets/firebase-CWl4LEc7.js">
|
| 25 |
+
<link rel="modulepreload" crossorigin href="./assets/ui-BjUdCpih.js">
|
| 26 |
+
<link rel="stylesheet" crossorigin href="./assets/index-DfLbT_5b.css">
|
| 27 |
+
</head>
|
| 28 |
+
<body>
|
| 29 |
+
<div id="root"></div>
|
| 30 |
+
</body>
|
| 31 |
+
</html>
|