Yao211 commited on
Commit
031c88e
·
verified ·
1 Parent(s): 766b8a4

Upload 33 files

Browse files
_redirects ADDED
@@ -0,0 +1 @@
 
 
1
+ /* /index.html 200
assets/example_images/Anime/1.jpg ADDED

Git LFS Details

  • SHA256: 85ecfa23e86c37e9bbcd24893ace2f07e1cce12b834316df055f6d44acc8851b
  • Pointer size: 131 Bytes
  • Size of remote file: 188 kB
assets/example_images/Anime/2.jpg ADDED

Git LFS Details

  • SHA256: 520cbbfddd4fa99c1a598ec204b9c1795a6e7cfe41222e4a0a38ed7ffe487e6d
  • Pointer size: 131 Bytes
  • Size of remote file: 107 kB
assets/example_images/Anime/3.jpg ADDED

Git LFS Details

  • SHA256: d0d7338c3942a7f840bb2b6aeeacba58cef4d0863afb4632329005b48f3a6c79
  • Pointer size: 131 Bytes
  • Size of remote file: 108 kB
assets/example_images/Anime/4.jpg ADDED

Git LFS Details

  • SHA256: 54345eef3a8b477fc2841f1d8dc6a4f933395f13bebb5f9501cd8c56c745533a
  • Pointer size: 131 Bytes
  • Size of remote file: 145 kB
assets/example_images/Ghibli-Pixar/1.jpg ADDED

Git LFS Details

  • SHA256: be94d7baced0398ff6c8dcb3e3b04259ca33a1cf54e51480c1024d9a32f403e7
  • Pointer size: 131 Bytes
  • Size of remote file: 110 kB
assets/example_images/Ghibli-Pixar/2.jpg ADDED

Git LFS Details

  • SHA256: 33da31880d577332758d4a659db0aaecfe43fae386435e11a07e1cae21e1e0c3
  • Pointer size: 131 Bytes
  • Size of remote file: 112 kB
assets/example_images/Ghibli-Pixar/3.jpg ADDED
assets/example_images/Ghibli-Pixar/4.jpg ADDED

Git LFS Details

  • SHA256: 745500fc4564c77d014c861877995ecfd36df6f6aa1f598cf96c9b1067593c67
  • Pointer size: 131 Bytes
  • Size of remote file: 101 kB
assets/example_images/Misc/1.jpg ADDED

Git LFS Details

  • SHA256: 2bdceb2f1688e5e26a6db49fbac8adcb82969b0c38d59e19e18e825916fdb238
  • Pointer size: 131 Bytes
  • Size of remote file: 139 kB
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

  • SHA256: f7f7a83c2ea2994449438fdbe6cc389b174b5704751ef32114e629d6450d09f5
  • Pointer size: 131 Bytes
  • Size of remote file: 313 kB
assets/example_images/Nature/2.jpg ADDED

Git LFS Details

  • SHA256: b888f620e2141a9c074f346ba0c5acd53b277617f6d287ca97625ec3dfc0723d
  • Pointer size: 131 Bytes
  • Size of remote file: 168 kB
assets/example_images/Nature/3.jpg ADDED
assets/example_images/Nature/4.jpg ADDED

Git LFS Details

  • SHA256: 48d1a8f31d41124acd1618af5a42de00a2f8eb273cf54bb309dacb7baafe5534
  • Pointer size: 131 Bytes
  • Size of remote file: 173 kB
assets/example_images/Space/1.jpg ADDED
assets/example_images/Space/2.jpg ADDED

Git LFS Details

  • SHA256: 5b40e0b3fc2f7bd130480aa237861ede4e883edd3a93a4185ae4fdbe5c4f64d0
  • Pointer size: 131 Bytes
  • Size of remote file: 197 kB
assets/example_images/Space/3.jpg ADDED

Git LFS Details

  • SHA256: 46e76246b5982bc244e396211f14f1892f45ac733e0fdb8c3218c1603a8e3cc4
  • Pointer size: 131 Bytes
  • Size of remote file: 167 kB
assets/example_images/Space/4.jpg ADDED

Git LFS Details

  • SHA256: 5c66bfd42db0d852b89f34297c2e745ca8026afd66b195ad83c301eca00d62ca
  • Pointer size: 131 Bytes
  • Size of remote file: 124 kB
assets/example_images/Streets/1.jpg ADDED

Git LFS Details

  • SHA256: 1f4a9b156c22514f7c5e169de962f6aa5768576be677337388b252f86dafb222
  • Pointer size: 131 Bytes
  • Size of remote file: 208 kB
assets/example_images/Streets/2.jpg ADDED

Git LFS Details

  • SHA256: 881dea8ff6871dc0e7125311454ec6198783465e1d4a1e4dd4693052271f72cb
  • Pointer size: 131 Bytes
  • Size of remote file: 233 kB
assets/example_images/Streets/3.jpg ADDED

Git LFS Details

  • SHA256: 5a442ee68c08a31f7b6d7ea2ba06e5fccba8541dd5d93acf5b8825c9c525df63
  • Pointer size: 131 Bytes
  • Size of remote file: 189 kB
assets/example_images/Streets/4.jpg ADDED

Git LFS Details

  • SHA256: 29e5a0ba0e6e1d3d4311c95184a76247a9c7436714cb0e1b1f2c93e2a2d034e4
  • Pointer size: 131 Bytes
  • Size of remote file: 118 kB
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>