From a55fac3061bc25dd345ebc129d711841970372f6 Mon Sep 17 00:00:00 2001 From: sonusharma6-dsa Date: Thu, 2 Jul 2026 21:21:30 +0530 Subject: [PATCH 1/7] feat: Add one-click copy button to all pre/code blocks globally (closes #769) --- src/components/PageShell.tsx | 68 ++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) diff --git a/src/components/PageShell.tsx b/src/components/PageShell.tsx index e919671..0cecb37 100644 --- a/src/components/PageShell.tsx +++ b/src/components/PageShell.tsx @@ -7,6 +7,74 @@ interface PageShellProps { } const PageShell: React.FC = ({ children }) => { + React.useEffect(() => { + // Select all
 elements inside .ps-content
+    const preBlocks = document.querySelectorAll('.ps-content pre');
+    preBlocks.forEach(pre => {
+      // Avoid duplicate buttons
+      if (
+        pre.querySelector('.global-copy-btn') ||
+        pre.parentElement?.querySelector('button')
+      )
+        return;
+
+      const preEl = pre as HTMLElement;
+      preEl.style.position = 'relative';
+
+      // Create button
+      const btn = document.createElement('button');
+      btn.className =
+        'global-copy-btn absolute top-2 right-2 backdrop-filter backdrop-blur-xl bg-white/10 border border-white/20 p-2 hover:bg-white/30 rounded-md transition-all duration-300 z-10 text-white flex items-center justify-center';
+      btn.title = 'Copy to clipboard';
+
+      const copyIcon = ``;
+      const checkIcon = ``;
+
+      btn.innerHTML = copyIcon;
+
+      btn.addEventListener('click', () => {
+        // Exclude the button text itself if it was copied
+        const textToCopy = (preEl.innerText || '')
+          .replace(/Copy|Copied!/g, '')
+          .trim();
+
+        if (navigator.clipboard) {
+          navigator.clipboard
+            .writeText(textToCopy)
+            .then(() => {
+              btn.innerHTML = checkIcon;
+              setTimeout(() => {
+                btn.innerHTML = copyIcon;
+              }, 2000);
+            })
+            .catch(err => {
+              console.error('Failed to copy: ', err);
+            });
+        } else {
+          // Fallback
+          const textarea = document.createElement('textarea');
+          textarea.value = textToCopy;
+          textarea.style.position = 'absolute';
+          textarea.style.left = '-9999px';
+          document.body.appendChild(textarea);
+          textarea.select();
+          try {
+            document.execCommand('copy');
+            btn.innerHTML = checkIcon;
+            setTimeout(() => {
+              btn.innerHTML = copyIcon;
+            }, 2000);
+          } catch (e) {
+            console.error('Fallback copy failed', e);
+          }
+          document.body.removeChild(textarea);
+        }
+      });
+
+      preEl.appendChild(btn);
+    });
+  }, [children]);
+
   return (
     
{/* Animated background orbs — matches landing page */} From 7d408c9f7ec2d45ff9111cdf6c98b70614786a64 Mon Sep 17 00:00:00 2001 From: sonusharma6-dsa Date: Thu, 2 Jul 2026 22:00:26 +0530 Subject: [PATCH 2/7] feat: add GlassyFileUpload component with drag-and-drop zone (closes #771) --- build/static/css/main.73cc8df5.css | 6 - build/static/css/main.73cc8df5.css.map | 1 - build/static/js/main.314eff49.js | 3 - src/App.tsx | 5 + src/components/GlassyFileUpload.tsx | 228 ++++++++++++++++++++++ src/components/GlassyUIComponentsPage.tsx | 9 + 6 files changed, 242 insertions(+), 10 deletions(-) delete mode 100644 build/static/css/main.73cc8df5.css delete mode 100644 build/static/css/main.73cc8df5.css.map delete mode 100644 build/static/js/main.314eff49.js create mode 100644 src/components/GlassyFileUpload.tsx diff --git a/build/static/css/main.73cc8df5.css b/build/static/css/main.73cc8df5.css deleted file mode 100644 index 7a50423..0000000 --- a/build/static/css/main.73cc8df5.css +++ /dev/null @@ -1,6 +0,0 @@ -:root{--glass-blur:16px;--glass-bg-opacity:0.2;--glass-border-opacity:0.15;--glass-bg-rgb:15,23,42;--glass-border-rgb:255,255,255;--app-bg:#03010f;--app-text:#f8fafc}*,:after,:before{--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:#3b82f680;--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:#3b82f680;--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: } - -/* -! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com -*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;tab-size:4}body{line-height:inherit}hr{border-top-width:1px;color:inherit;height:0}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,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height: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:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-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,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.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}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.-inset-1{inset:-.25rem}.inset-0{inset:0}.inset-4{inset:1rem}.-bottom-24{bottom:-6rem}.-left-12{left:-3rem}.-left-36{left:-9rem}.-right-1{right:-.25rem}.-right-10{right:-2.5rem}.-right-24{right:-6rem}.-top-1{top:-.25rem}.-top-20{top:-5rem}.-top-\[0\.6rem\]{top:-.6rem}.bottom-0{bottom:0}.bottom-4{bottom:1rem}.bottom-5{bottom:1.25rem}.bottom-6{bottom:1.5rem}.bottom-\[100px\]{bottom:100px}.bottom-\[168px\]{bottom:168px}.bottom-full{bottom:100%}.left-0{left:0}.left-1{left:.25rem}.left-1\/2{left:50%}.left-10{left:2.5rem}.left-3{left:.75rem}.left-6{left:1.5rem}.left-full{left:100%}.right-0{right:0}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.right-5{right:1.25rem}.right-\[1rem\]{right:1rem}.right-\[5rem\]{right:5rem}.right-full{right:100%}.top-0{top:0}.top-1{top:.25rem}.top-1\/2{top:50%}.top-2{top:.5rem}.top-24{top:6rem}.top-3{top:.75rem}.top-4,.top-\[1rem\]{top:1rem}.top-\[2rem\]{top:2rem}.top-full{top:100%}.z-0{z-index:0}.z-10{z-index:10}.z-30{z-index:30}.z-50{z-index:50}.z-\[100\]{z-index:100}.z-\[111\]{z-index:111}.z-\[2000\]{z-index:2000}.z-\[51\]{z-index:51}.z-\[9999\]{z-index:9999}.order-1{order:1}.order-2{order:2}.-m-2{margin:-.5rem}.-m-4{margin:-1rem}.m-2{margin:.5rem}.m-4{margin:1rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-bottom:.25rem;margin-top:.25rem}.my-6{margin-bottom:1.5rem;margin-top:1.5rem}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-12{margin-bottom:3rem}.mb-14{margin-bottom:3.5rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-2\.5{margin-bottom:.625rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-6{margin-left:1.5rem}.ml-auto{margin-left:auto}.mr-0\.5{margin-right:.125rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.mt-14{margin-top:3.5rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-9{margin-top:2.25rem}.mt-auto{margin-top:auto}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-3{height:.75rem}.h-32{height:8rem}.h-36{height:9rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-56{height:14rem}.h-6{height:1.5rem}.h-60{height:15rem}.h-64{height:16rem}.h-7{height:1.75rem}.h-72{height:18rem}.h-8{height:2rem}.h-80{height:20rem}.h-\[100vh\]{height:100vh}.h-\[20vw\]{height:20vw}.h-\[350px\]{height:350px}.h-\[35vh\]{height:35vh}.h-\[3px\]{height:3px}.h-\[40vh\]{height:40vh}.h-\[420px\]{height:420px}.h-\[430px\]{height:430px}.h-\[500px\]{height:500px}.h-\[55vh\]{height:55vh}.h-\[60px\]{height:60px}.h-\[640px\]{height:640px}.h-auto{height:auto}.h-full{height:100%}.h-screen{height:100vh}.max-h-0{max-height:0}.max-h-40{max-height:10rem}.max-h-\[350px\]{max-height:350px}.max-h-\[400px\]{max-height:400px}.max-h-\[480px\]{max-height:480px}.min-h-\[160px\]{min-height:160px}.min-h-\[280px\]{min-height:280px}.min-h-\[30vh\]{min-height:30vh}.min-h-screen{min-height:100vh}.w-1\.5{width:.375rem}.w-1\/2{width:50%}.w-10{width:2.5rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-3{width:.75rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-60{width:15rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-80{width:20rem}.w-96{width:24rem}.w-\[1\.5rem\]{width:1.5rem}.w-\[100vw\]{width:100vw}.w-\[350px\]{width:350px}.w-\[35vw\]{width:35vw}.w-\[45\%\]{width:45%}.w-\[60px\]{width:60px}.w-\[70vw\]{width:70vw}.w-\[73\%\]{width:73%}.w-\[80\%\]{width:80%}.w-\[90vw\]{width:90vw}.w-\[95\%\]{width:95%}.w-fit{width:-webkit-fit-content;width:fit-content}.w-full{width:100%}.w-screen{width:100vw}.min-w-\[30vw\]{min-width:30vw}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-\[1200px\]{max-width:1200px}.max-w-\[30rem\]{max-width:30rem}.max-w-\[500px\]{max-width:500px}.max-w-\[80\%\]{max-width:80%}.max-w-\[85\%\]{max-width:85%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.flex-1{flex:1 1}.flex-shrink{flex-shrink:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.origin-bottom{transform-origin:bottom}.origin-left{transform-origin:left}.origin-right{transform-origin:right}.origin-top{transform-origin:top}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x:-100%}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.translate-x-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x:0px}.translate-x-7{--tw-translate-x:1.75rem}.translate-x-7,.translate-x-8{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-8{--tw-translate-x:2rem}.rotate-180{--tw-rotate:180deg}.rotate-180,.rotate-45{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-45{--tw-rotate:45deg}.rotate-90{--tw-rotate:90deg}.rotate-90,.scale-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-0{--tw-scale-x:0;--tw-scale-y:0}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-100,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}.animate-bounce{animation:bounce 1s infinite}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-spin{animation:spin 1s linear infinite}.cursor-crosshair{cursor:crosshair}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.resize{resize:both}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.appearance-none{-webkit-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-x-3{column-gap:.75rem}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.75rem*var(--tw-space-x-reverse))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1rem*var(--tw-space-x-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.25rem*var(--tw-space-y-reverse));margin-top:calc(1.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(2rem*var(--tw-space-y-reverse));margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)))}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-\[15px\]{border-radius:15px}.rounded-\[25px\]{border-radius:25px}.rounded-\[26px\]{border-radius:26px}.rounded-\[28px\]{border-radius:28px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-tl-none{border-top-left-radius:0}.rounded-tr-none{border-top-right-radius:0}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-4{border-width:4px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l-2{border-left-width:2px}.border-t{border-top-width:1px}.border-none{border-style:none}.border-\[\#161122\]{--tw-border-opacity:1;border-color:#161122;border-color:rgb(22 17 34/var(--tw-border-opacity,1))}.border-\[\#535d6a\]{--tw-border-opacity:1;border-color:#535d6a;border-color:rgb(83 93 106/var(--tw-border-opacity,1))}.border-blue-400\/30{border-color:#60a5fa4d}.border-blue-500{--tw-border-opacity:1;border-color:#3b82f6;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.border-blue-500\/20{border-color:#3b82f633}.border-blue-500\/30{border-color:#3b82f64d}.border-blue-500\/50{border-color:#3b82f680}.border-cyan-400\/25{border-color:#22d3ee40}.border-cyan-500\/20{border-color:#06b6d433}.border-gray-200{--tw-border-opacity:1;border-color:#e5e7eb;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-gray-300{--tw-border-opacity:1;border-color:#d1d5db;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.border-gray-400{--tw-border-opacity:1;border-color:#9ca3af;border-color:rgb(156 163 175/var(--tw-border-opacity,1))}.border-gray-500{--tw-border-opacity:1;border-color:#6b7280;border-color:rgb(107 114 128/var(--tw-border-opacity,1))}.border-gray-600{--tw-border-opacity:1;border-color:#4b5563;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.border-gray-700{--tw-border-opacity:1;border-color:#374151;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.border-green-300{--tw-border-opacity:1;border-color:#86efac;border-color:rgb(134 239 172/var(--tw-border-opacity,1))}.border-green-500\/30{border-color:#22c55e4d}.border-slate-200{--tw-border-opacity:1;border-color:#e2e8f0;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.border-slate-200\/20{border-color:#e2e8f033}.border-slate-200\/50{border-color:#e2e8f080}.border-white{--tw-border-opacity:1;border-color:#fff;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.border-white\/10{border-color:#ffffff1a}.border-white\/15{border-color:#ffffff26}.border-white\/20{border-color:#fff3}.border-white\/30{border-color:#ffffff4d}.border-white\/5{border-color:#ffffff0d}.border-yellow-300{--tw-border-opacity:1;border-color:#fde047;border-color:rgb(253 224 71/var(--tw-border-opacity,1))}.border-t-transparent{border-top-color:#0000}.border-opacity-20{--tw-border-opacity:0.2}.border-opacity-30{--tw-border-opacity:0.3}.border-opacity-40{--tw-border-opacity:0.4}.bg-\[\#0a0710\]\/95{background-color:#0a0710f2}.bg-\[\#ff9900\]{--tw-bg-opacity:1;background-color:#f90;background-color:rgb(255 153 0/var(--tw-bg-opacity,1))}.bg-black{--tw-bg-opacity:1;background-color:#000;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-black\/20{background-color:#0003}.bg-blue-500{--tw-bg-opacity:1;background-color:#3b82f6;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-blue-500\/20{background-color:#3b82f633}.bg-blue-600{--tw-bg-opacity:1;background-color:#2563eb;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.bg-blue-600\/10{background-color:#2563eb1a}.bg-blue-600\/20{background-color:#2563eb33}.bg-blue-900{--tw-bg-opacity:1;background-color:#1e3a8a;background-color:rgb(30 58 138/var(--tw-bg-opacity,1))}.bg-cyan-400\/10{background-color:#22d3ee1a}.bg-cyan-400\/20{background-color:#22d3ee33}.bg-cyan-50\/50{background-color:#ecfeff80}.bg-cyan-500{--tw-bg-opacity:1;background-color:#06b6d4;background-color:rgb(6 182 212/var(--tw-bg-opacity,1))}.bg-cyan-500\/10{background-color:#06b6d41a}.bg-cyan-500\/20{background-color:#06b6d433}.bg-emerald-500\/20{background-color:#10b98133}.bg-fuchsia-500\/20{background-color:#d946ef33}.bg-gray-100{--tw-bg-opacity:1;background-color:#f3f4f6;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-gray-200{--tw-bg-opacity:1;background-color:#e5e7eb;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bg-gray-300{--tw-bg-opacity:1;background-color:#d1d5db;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.bg-gray-400{--tw-bg-opacity:1;background-color:#9ca3af;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}.bg-gray-500{--tw-bg-opacity:1;background-color:#6b7280;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.bg-gray-600{--tw-bg-opacity:1;background-color:#4b5563;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.bg-gray-700{--tw-bg-opacity:1;background-color:#374151;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.bg-gray-800{--tw-bg-opacity:1;background-color:#1f2937;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.bg-gray-900{--tw-bg-opacity:1;background-color:#111827;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.bg-gray-950{--tw-bg-opacity:1;background-color:#030712;background-color:rgb(3 7 18/var(--tw-bg-opacity,1))}.bg-green-400\/25{background-color:#4ade8040}.bg-green-500{--tw-bg-opacity:1;background-color:#22c55e;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.bg-green-500\/35{background-color:#22c55e59}.bg-green-600{--tw-bg-opacity:1;background-color:#16a34a;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.bg-green-800{--tw-bg-opacity:1;background-color:#166534;background-color:rgb(22 101 52/var(--tw-bg-opacity,1))}.bg-pink-300{--tw-bg-opacity:1;background-color:#f9a8d4;background-color:rgb(249 168 212/var(--tw-bg-opacity,1))}.bg-purple-400{--tw-bg-opacity:1;background-color:#c084fc;background-color:rgb(192 132 252/var(--tw-bg-opacity,1))}.bg-slate-100{--tw-bg-opacity:1;background-color:#f1f5f9;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-100\/80{background-color:#f1f5f9cc}.bg-slate-200{--tw-bg-opacity:1;background-color:#e2e8f0;background-color:rgb(226 232 240/var(--tw-bg-opacity,1))}.bg-slate-200\/40{background-color:#e2e8f066}.bg-slate-400{--tw-bg-opacity:1;background-color:#94a3b8;background-color:rgb(148 163 184/var(--tw-bg-opacity,1))}.bg-slate-50\/50{background-color:#f8fafc80}.bg-slate-900{--tw-bg-opacity:1;background-color:#0f172a;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.bg-slate-900\/80{background-color:#0f172acc}.bg-slate-950{--tw-bg-opacity:1;background-color:#020617;background-color:rgb(2 6 23/var(--tw-bg-opacity,1))}.bg-transparent{background-color:initial}.bg-violet-500\/20{background-color:#8b5cf633}.bg-violet-600{--tw-bg-opacity:1;background-color:#7c3aed;background-color:rgb(124 58 237/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/10{background-color:#ffffff1a}.bg-white\/15{background-color:#ffffff26}.bg-white\/20{background-color:#fff3}.bg-white\/30{background-color:#ffffff4d}.bg-white\/40{background-color:#fff6}.bg-white\/5{background-color:#ffffff0d}.bg-white\/50{background-color:#ffffff80}.bg-white\/60{background-color:#fff9}.bg-white\/80{background-color:#fffc}.bg-white\/85{background-color:#ffffffd9}.bg-opacity-10{--tw-bg-opacity:0.1}.bg-opacity-20{--tw-bg-opacity:0.2}.bg-opacity-25{--tw-bg-opacity:0.25}.bg-opacity-30{--tw-bg-opacity:0.3}.bg-opacity-40{--tw-bg-opacity:0.4}.bg-opacity-5{--tw-bg-opacity:0.05}.bg-opacity-50{--tw-bg-opacity:0.5}.bg-opacity-70{--tw-bg-opacity:0.7}.bg-opacity-80{--tw-bg-opacity:0.8}.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))}.from-\[\#8b5cf6\]{--tw-gradient-from:#8b5cf6 var(--tw-gradient-from-position);--tw-gradient-to:#8b5cf600 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-\[\#ff4d79\]{--tw-gradient-from:#ff4d79 var(--tw-gradient-from-position);--tw-gradient-to:#ff4d7900 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-amber-400{--tw-gradient-from:#fbbf24 var(--tw-gradient-from-position);--tw-gradient-to:#fbbf2400 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-400{--tw-gradient-from:#60a5fa var(--tw-gradient-from-position);--tw-gradient-to:#60a5fa00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-600{--tw-gradient-from:#2563eb var(--tw-gradient-from-position);--tw-gradient-to:#2563eb00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-600\/30{--tw-gradient-from:#2563eb4d var(--tw-gradient-from-position);--tw-gradient-to:#2563eb00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-cyan-400{--tw-gradient-from:#22d3ee var(--tw-gradient-from-position);--tw-gradient-to:#22d3ee00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-fuchsia-400{--tw-gradient-from:#e879f9 var(--tw-gradient-from-position);--tw-gradient-to:#e879f900 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-gray-50{--tw-gradient-from:#f9fafb var(--tw-gradient-from-position);--tw-gradient-to:#f9fafb00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-gray-700{--tw-gradient-from:#374151 var(--tw-gradient-from-position);--tw-gradient-to:#37415100 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-gray-900{--tw-gradient-from:#111827 var(--tw-gradient-from-position);--tw-gradient-to:#11182700 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-pink-400{--tw-gradient-from:#f472b6 var(--tw-gradient-from-position);--tw-gradient-to:#f472b600 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-purple-100{--tw-gradient-from:#f3e8ff var(--tw-gradient-from-position);--tw-gradient-to:#f3e8ff00 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:#c084fc00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-transparent{--tw-gradient-from:#0000 var(--tw-gradient-from-position);--tw-gradient-to:#0000 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-violet-600{--tw-gradient-from:#7c3aed var(--tw-gradient-from-position);--tw-gradient-to:#7c3aed00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-white{--tw-gradient-from:#fff var(--tw-gradient-from-position);--tw-gradient-to:#fff0 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-yellow-800{--tw-gradient-from:#854d0e var(--tw-gradient-from-position);--tw-gradient-to:#854d0e00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.via-blue-500{--tw-gradient-to:#3b82f600 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#3b82f6 var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-orange-500{--tw-gradient-to:#f9731600 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#f97316 var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-purple-500{--tw-gradient-to:#a855f700 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#a855f7 var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-white\/40{--tw-gradient-to:#fff0 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#fff6 var(--tw-gradient-via-position),var(--tw-gradient-to)}.to-\[\#3b82f6\]{--tw-gradient-to:#3b82f6 var(--tw-gradient-to-position)}.to-\[\#ff2a5f\]{--tw-gradient-to:#ff2a5f var(--tw-gradient-to-position)}.to-black{--tw-gradient-to:#000 var(--tw-gradient-to-position)}.to-blue-300{--tw-gradient-to:#93c5fd var(--tw-gradient-to-position)}.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-gray-800{--tw-gradient-to:#1f2937 var(--tw-gradient-to-position)}.to-indigo-500{--tw-gradient-to:#6366f1 var(--tw-gradient-to-position)}.to-indigo-600{--tw-gradient-to:#4f46e5 var(--tw-gradient-to-position)}.to-pink-200{--tw-gradient-to:#fbcfe8 var(--tw-gradient-to-position)}.to-purple-500{--tw-gradient-to:#a855f7 var(--tw-gradient-to-position)}.to-purple-600{--tw-gradient-to:#9333ea var(--tw-gradient-to-position)}.to-purple-600\/30{--tw-gradient-to:#9333ea4d var(--tw-gradient-to-position)}.to-rose-500{--tw-gradient-to:#f43f5e var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to:#0000 var(--tw-gradient-to-position)}.to-white{--tw-gradient-to:#fff var(--tw-gradient-to-position)}.to-yellow-600{--tw-gradient-to:#ca8a04 var(--tw-gradient-to-position)}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.fill-current{fill:currentColor}.stroke-\[3\]{stroke-width:3}.object-cover{object-fit:cover}.object-center{object-position:center}.object-top{object-position:top}.p-0{padding:0}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-10{padding:2.5rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-3\.5{padding:.875rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-bottom:.125rem;padding-top:.125rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-1\.5{padding-bottom:.375rem;padding-top:.375rem}.py-12{padding-bottom:3rem;padding-top:3rem}.py-16{padding-bottom:4rem;padding-top:4rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-2\.5{padding-bottom:.625rem;padding-top:.625rem}.py-20{padding-bottom:5rem;padding-top:5rem}.py-24{padding-bottom:6rem;padding-top:6rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-6{padding-bottom:1.5rem;padding-top:1.5rem}.py-8{padding-bottom:2rem;padding-top:2rem}.pb-0{padding-bottom:0}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-5{padding-bottom:1.25rem}.pl-1{padding-left:.25rem}.pl-10{padding-left:2.5rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pl-5{padding-left:1.25rem}.pr-10{padding-right:2.5rem}.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-start{text-align:start}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-sans{font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.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-5xl{font-size:3rem;line-height:1}.text-6xl{font-size:3.75rem;line-height:1}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.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-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.leading-7{line-height:1.75rem}.leading-relaxed{line-height:1.625}.tracking-\[0\.24em\]{letter-spacing:.24em}.tracking-\[0\.28em\]{letter-spacing:.28em}.tracking-\[0\.2em\]{letter-spacing:.2em}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-\[\#a78bfa\]{--tw-text-opacity:1;color:#a78bfa;color:rgb(167 139 250/var(--tw-text-opacity,1))}.text-black{--tw-text-opacity:1;color:#000;color:rgb(0 0 0/var(--tw-text-opacity,1))}.text-blue-200{--tw-text-opacity:1;color:#bfdbfe;color:rgb(191 219 254/var(--tw-text-opacity,1))}.text-blue-400{--tw-text-opacity:1;color:#60a5fa;color:rgb(96 165 250/var(--tw-text-opacity,1))}.text-blue-500{--tw-text-opacity:1;color:#3b82f6;color:rgb(59 130 246/var(--tw-text-opacity,1))}.text-blue-600{--tw-text-opacity:1;color:#2563eb;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-cyan-200{--tw-text-opacity:1;color:#a5f3fc;color:rgb(165 243 252/var(--tw-text-opacity,1))}.text-cyan-600{--tw-text-opacity:1;color:#0891b2;color:rgb(8 145 178/var(--tw-text-opacity,1))}.text-cyan-700{--tw-text-opacity:1;color:#0e7490;color:rgb(14 116 144/var(--tw-text-opacity,1))}.text-cyan-800{--tw-text-opacity:1;color:#155e75;color:rgb(21 94 117/var(--tw-text-opacity,1))}.text-cyan-900\/90{color:#164e63e6}.text-emerald-600{--tw-text-opacity:1;color:#059669;color:rgb(5 150 105/var(--tw-text-opacity,1))}.text-gray-100{--tw-text-opacity:1;color:#f3f4f6;color:rgb(243 244 246/var(--tw-text-opacity,1))}.text-gray-200{--tw-text-opacity:1;color:#e5e7eb;color:rgb(229 231 235/var(--tw-text-opacity,1))}.text-gray-300{--tw-text-opacity:1;color:#d1d5db;color:rgb(209 213 219/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:#9ca3af;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:#6b7280;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:#4b5563;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-800{--tw-text-opacity:1;color:#1f2937;color:rgb(31 41 55/var(--tw-text-opacity,1))}.text-green-400{--tw-text-opacity:1;color:#4ade80;color:rgb(74 222 128/var(--tw-text-opacity,1))}.text-green-500{--tw-text-opacity:1;color:#22c55e;color:rgb(34 197 94/var(--tw-text-opacity,1))}.text-green-600{--tw-text-opacity:1;color:#16a34a;color:rgb(22 163 74/var(--tw-text-opacity,1))}.text-inherit{color:inherit}.text-pink-200{--tw-text-opacity:1;color:#fbcfe8;color:rgb(251 207 232/var(--tw-text-opacity,1))}.text-pink-600{--tw-text-opacity:1;color:#db2777;color:rgb(219 39 119/var(--tw-text-opacity,1))}.text-purple-300{--tw-text-opacity:1;color:#d8b4fe;color:rgb(216 180 254/var(--tw-text-opacity,1))}.text-purple-400{--tw-text-opacity:1;color:#c084fc;color:rgb(192 132 252/var(--tw-text-opacity,1))}.text-purple-600{--tw-text-opacity:1;color:#9333ea;color:rgb(147 51 234/var(--tw-text-opacity,1))}.text-red-300{--tw-text-opacity:1;color:#fca5a5;color:rgb(252 165 165/var(--tw-text-opacity,1))}.text-red-400{--tw-text-opacity:1;color:#f87171;color:rgb(248 113 113/var(--tw-text-opacity,1))}.text-red-500{--tw-text-opacity:1;color:#ef4444;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-slate-200{--tw-text-opacity:1;color:#e2e8f0;color:rgb(226 232 240/var(--tw-text-opacity,1))}.text-slate-300{--tw-text-opacity:1;color:#cbd5e1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.text-slate-400{--tw-text-opacity:1;color:#94a3b8;color:rgb(148 163 184/var(--tw-text-opacity,1))}.text-slate-500{--tw-text-opacity:1;color:#64748b;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-slate-600{--tw-text-opacity:1;color:#475569;color:rgb(71 85 105/var(--tw-text-opacity,1))}.text-slate-700{--tw-text-opacity:1;color:#334155;color:rgb(51 65 85/var(--tw-text-opacity,1))}.text-slate-800{--tw-text-opacity:1;color:#1e293b;color:rgb(30 41 59/var(--tw-text-opacity,1))}.text-slate-900{--tw-text-opacity:1;color:#0f172a;color:rgb(15 23 42/var(--tw-text-opacity,1))}.text-transparent{color:#0000}.text-violet-500{--tw-text-opacity:1;color:#8b5cf6;color:rgb(139 92 246/var(--tw-text-opacity,1))}.text-violet-600{--tw-text-opacity:1;color:#7c3aed;color:rgb(124 58 237/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:#fff;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-white\/20{color:#fff3}.text-white\/40{color:#fff6}.text-white\/50{color:#ffffff80}.text-white\/70{color:#ffffffb3}.text-white\/90{color:#ffffffe6}.text-yellow-500{--tw-text-opacity:1;color:#eab308;color:rgb(234 179 8/var(--tw-text-opacity,1))}.text-opacity-50{--tw-text-opacity:0.5}.text-opacity-60{--tw-text-opacity:0.6}.line-through{-webkit-text-decoration-line:line-through;text-decoration-line:line-through}.placeholder-gray-500::placeholder{--tw-placeholder-opacity:1;color:#6b7280;color:rgb(107 114 128/var(--tw-placeholder-opacity,1))}.placeholder-slate-400::placeholder{--tw-placeholder-opacity:1;color:#94a3b8;color:rgb(148 163 184/var(--tw-placeholder-opacity,1))}.accent-blue-600{accent-color:#2563eb}.accent-violet-500{accent-color:#8b5cf6}.accent-white{accent-color:#fff}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-30{opacity:.3}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-2xl{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-\[0_0_0_1px_rgba\(124\2c 58\2c 237\2c 0\.25\)\2c 0_8px_32px_rgba\(124\2c 58\2c 237\2c 0\.35\)\2c inset_0_1px_0_rgba\(255\2c 255\2c 255\2c 0\.12\)\]{--tw-shadow:0 0 0 1px #7c3aed40,0 8px 32px #7c3aed59,inset 0 1px 0 #ffffff1f;--tw-shadow-colored:0 0 0 1px var(--tw-shadow-color),0 8px 32px var(--tw-shadow-color),inset 0 1px 0 var(--tw-shadow-color);box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_0_1px_rgba\(34\2c 211\2c 238\2c 0\.08\)\2c 0_8px_24px_rgba\(34\2c 211\2c 238\2c 0\.06\)\]{--tw-shadow:0 0 0 1px #22d3ee14,0 8px 24px #22d3ee0f;--tw-shadow-colored:0 0 0 1px var(--tw-shadow-color),0 8px 24px var(--tw-shadow-color);box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_12px_rgba\(34\2c 211\2c 238\2c 0\.9\)\]{--tw-shadow:0 0 12px #22d3eee6;--tw-shadow-colored:0 0 12px var(--tw-shadow-color)}.shadow-\[0_0_12px_rgba\(34\2c 211\2c 238\2c 0\.9\)\],.shadow-\[0_0_22px_rgba\(34\2c 197\2c 94\2c 0\.95\)\]{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_22px_rgba\(34\2c 197\2c 94\2c 0\.95\)\]{--tw-shadow:0 0 22px #22c55ef2;--tw-shadow-colored:0 0 22px var(--tw-shadow-color)}.shadow-\[0_0_28px_rgba\(34\2c 197\2c 94\2c 0\.75\)\]{--tw-shadow:0 0 28px #22c55ebf;--tw-shadow-colored:0 0 28px var(--tw-shadow-color)}.shadow-\[0_0_28px_rgba\(34\2c 197\2c 94\2c 0\.75\)\],.shadow-\[0_20px_60px_rgba\(2\2c 6\2c 23\2c 0\.35\)\]{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[0_20px_60px_rgba\(2\2c 6\2c 23\2c 0\.35\)\]{--tw-shadow:0 20px 60px #02061759;--tw-shadow-colored:0 20px 60px var(--tw-shadow-color)}.shadow-\[0_24px_70px_rgba\(2\2c 6\2c 23\2c 0\.4\)\]{--tw-shadow:0 24px 70px #02061766;--tw-shadow-colored:0 24px 70px var(--tw-shadow-color)}.shadow-\[0_24px_70px_rgba\(2\2c 6\2c 23\2c 0\.4\)\],.shadow-\[0_8px_20px_rgba\(255\2c 42\2c 95\2c 0\.4\)\]{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[0_8px_20px_rgba\(255\2c 42\2c 95\2c 0\.4\)\]{--tw-shadow:0 8px 20px #ff2a5f66;--tw-shadow-colored:0 8px 20px var(--tw-shadow-color)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 #0000000d;--tw-shadow-colored:inset 0 2px 4px 0 var(--tw-shadow-color)}.shadow-inner,.shadow-lg{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);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 #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-sm{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);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 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-xl{--tw-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[\$\{shadowOffsetX\}px_\$\{shadowOffsetY\}px_\$\{shadowBlur\}px_\$\{shadowColor\}\]{--tw-shadow-color:${shadowOffsetX}px ${shadowOffsetY}px ${shadowBlur}px ${shadowColor};--tw-shadow:var(--tw-shadow-colored)}.outline-none{outline:2px solid #0000;outline-offset:2px}.outline{outline-style:solid}.ring-1{--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(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-1,.ring-2{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-2{--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)}.ring-blue-500{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.ring-white\/40{--tw-ring-color:#fff6}.ring-offset-2{--tw-ring-offset-width:2px}.blur{--tw-blur:blur(8px)}.blur,.blur-3xl{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-3xl{--tw-blur:blur(64px)}.invert{--tw-invert:invert(100%)}.filter,.invert{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-\[\$\{blur\}px\]{--tw-backdrop-blur:blur(${blur}px)}.backdrop-blur-\[\$\{blur\}px\],.backdrop-blur-lg{-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)}.backdrop-blur-md{--tw-backdrop-blur:blur(12px)}.backdrop-blur-md,.backdrop-blur-sm{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.backdrop-blur-xl{--tw-backdrop-blur:blur(24px)}.backdrop-blur-xl,.backdrop-filter{-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-duration:.15s;transition-property:color,background-color,border-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-text-decoration-color,-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-text-decoration-color,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[max-height\2c opacity\]{transition-duration:.15s;transition-property:max-height,opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,fill,stroke,-webkit-text-decoration-color;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,-webkit-text-decoration-color;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-700{transition-duration:.7s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.backdrop-blur-xl{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#03010f!important;background:var(--app-bg,#03010f)!important;color:#f8fafc;color:var(--app-text,#f8fafc);font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;padding:0;transition:background .4s ease-in-out,color .4s ease-in-out}.adaptive-app-shell{background:radial-gradient(circle at 20% 12%,#7c3aed47,#0000 18%),radial-gradient(circle at 85% 15%,#0ea5e929,#0000 18%),radial-gradient(circle at 50% 78%,#3b82f624,#0000 28%),linear-gradient(180deg,#080a2df5,#03010feb);background:radial-gradient(circle at 20% 12%,var(--adaptive-accent,#7c3aed47),#0000 18%),radial-gradient(circle at 85% 15%,#0ea5e929,#0000 18%),radial-gradient(circle at 50% 78%,#3b82f624,#0000 28%),linear-gradient(180deg,#080a2df5,var(--adaptive-base-tint,#03010feb));color:#f8fafc;color:var(--adaptive-text-color,#f8fafc);isolation:isolate;min-height:100vh;overflow:hidden;position:relative}.adaptive-app-shell:before{background:radial-gradient(circle at top left,#7c3aed52,#0000 24%),radial-gradient(circle at bottom right,#0ea5e947,#0000 20%);background:radial-gradient(circle at top left,var(--adaptive-accent,#7c3aed52),#0000 24%),radial-gradient(circle at bottom right,#0ea5e947,#0000 20%);filter:blur(46px);mix-blend-mode:screen;opacity:.82}.adaptive-app-shell:after,.adaptive-app-shell:before{content:"";inset:0;pointer-events:none;position:absolute}.adaptive-app-shell:after{background:radial-gradient(circle at center,#ffffff0d,#0000 38%);mix-blend-mode:overlay;opacity:.72}.adaptive-sampler{height:100vh;left:0;opacity:0;pointer-events:none;position:fixed;top:0;width:100vw;z-index:-1}.adaptive-glass{backdrop-filter:blur(16px)!important;backdrop-filter:blur(var(--glass-blur))!important;-webkit-backdrop-filter:blur(16px)!important;-webkit-backdrop-filter:blur(var(--glass-blur))!important;background:#0f172a33!important;background:rgba(var(--glass-bg-rgb),var(--glass-bg-opacity))!important;border:1px solid #ffffff26!important;border:1px solid rgba(var(--glass-border-rgb),var(--glass-border-opacity))!important;box-shadow:0 0 30px rgba(124,58,237,.26);box-shadow:0 0 var(--adaptive-shadow,30px) rgba(124,58,237,calc(.18 + var(--adaptive-glow, .08)));color:#f8fafc;color:var(--adaptive-text-color,#f8fafc);transition:background .35s ease,border-color .35s ease,box-shadow .35s ease}.page-shell{margin:0 auto;padding-bottom:48px;padding-top:28px;z-index:1}.adaptive-app-shell>.page-shell,.adaptive-app-shell>footer{position:relative;z-index:1}.enhanced-bg{background:radial-gradient(circle at center,#1b2735,#12122a,#2a2962,#4b2f6e);height:100%;left:0;opacity:.95;overflow:hidden;position:absolute;top:0;width:100%;z-index:0}body.light-theme .enhanced-bg{background:radial-gradient(circle at center,#f2f6ff,#dde7f0,#bcd0e0,#93b3cc)}.coding-symbol{align-items:center;animation:float 10s ease-in-out infinite;border-radius:50%;display:flex;font-size:3rem;height:100px;justify-content:center;opacity:.8;position:absolute;width:100px}#theme-toggle{background:#fff;border:none;border-radius:10px;bottom:10px;color:#333;cursor:pointer;font-size:1rem;padding:10px 20px;position:fixed;right:10px}body.light-theme .glassy-ui{background:#fff9;box-shadow:0 8px 32px #0003;color:#333}body.light-theme #theme-toggle{background:#333;color:#fff}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#03010fcc}::-webkit-scrollbar-thumb{background:#7c3aed66;border-radius:6px;-webkit-transition:background .3s ease;transition:background .3s ease}::-webkit-scrollbar-thumb:hover{background:#7c3aedb3}.glassmorphism{backdrop-filter:blur(16px);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(var(--glass-blur));background:#0f172a33;background:rgba(var(--glass-bg-rgb),var(--glass-bg-opacity));border:1px solid #ffffff26;border:1px solid rgba(var(--glass-border-rgb),var(--glass-border-opacity));box-shadow:0 8px 32px 0 #1f26875e}@keyframes fade{0%{opacity:0;transform:translateY(50px)}}.fade-in{animation:fade .35s ease-out}.toast{animation:toast-start .8s cubic-bezier(.18,.89,.32,1.28) forwards;max-height:400px;opacity:1;overflow:hidden;transform:translateX(0)}.hide-toast{animation:toast-end .6s cubic-bezier(.18,.89,.32,1.28) forwards}@keyframes toast-start{0%{max-height:0;opacity:0;transform:translateX(100px)}to{max-height:350px;opacity:1;transform:translateX(0)}}@keyframes toast-end{50%{opacity:0;transform:translateX(100px)}51%{opacity:0;transform:translateX(100px)}to{max-height:0;opacity:0;padding:0;transform:translateX(100px)}}@keyframes shine{0%{transform:translateX(-100%) translateY(-100%) rotate(45deg)}to{transform:translateX(100%) translateY(100%) rotate(45deg)}}.shine-effect:before{animation:shine 1.5s infinite;background:linear-gradient(to bottom right,#fff0,#ffffff1a 50%,#fff0);content:"";height:200%;left:-50%;opacity:0;pointer-events:none;position:absolute;top:-50%;transform:rotate(45deg);transition:opacity .3s ease;width:200%}.shine-effect:hover:before{opacity:1}.frosted-glass{backdrop-filter:blur(16px);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(var(--glass-blur));background:#0f172a33;background:rgba(var(--glass-bg-rgb),var(--glass-bg-opacity));border:1px solid #ffffff26;border:1px solid rgba(var(--glass-border-rgb),var(--glass-border-opacity));box-shadow:0 8px 32px 0 #1f26875e}.frosted-glass:hover{background:rgba(15,23,42,.25);background:rgba(var(--glass-bg-rgb),calc(var(--glass-bg-opacity) + .05));box-shadow:0 8px 32px 0 #1f268773}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes float-slow{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-float{animation:float 6s ease-in-out infinite}.animate-float-slow{animation:float-slow 8s ease-in-out infinite}.cp-root{background:#03010f;color:#f8fafc;font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,sans-serif;min-height:100vh;overflow-x:hidden;position:relative}.cp-orb{border-radius:50%;pointer-events:none;position:fixed;z-index:0}.cp-orb-1{animation:orb1 22s ease-in-out infinite;background:radial-gradient(circle,#7c3aed2e,#0000 70%);filter:blur(80px);height:700px;left:-200px;top:-200px;width:700px}.cp-orb-2{animation:orb2 28s ease-in-out infinite;background:radial-gradient(circle,#0891b224,#0000 70%);bottom:0;filter:blur(70px);height:500px;right:-100px;width:500px}.cp-grid{background-image:linear-gradient(hsla(0,0%,100%,.022) 1px,#0000 0),linear-gradient(90deg,hsla(0,0%,100%,.022) 1px,#0000 0);background-size:60px 60px;inset:0;pointer-events:none;position:fixed;z-index:0}.cp-container{margin:0 auto;max-width:1400px;padding:130px 80px 80px;position:relative;z-index:1}.cp-hero{margin-bottom:64px;text-align:center}.cp-badge{align-items:center;background:#7c3aed1f;border:1px solid #7c3aed4d;border-radius:100px;color:#a78bfa;display:inline-flex;font-size:12px;font-weight:600;gap:8px;margin-bottom:24px;padding:6px 14px}.cp-badge-dot{animation:pulse-dot 2s ease-in-out infinite;background:#7c3aed;border-radius:50%;box-shadow:0 0 8px #7c3aed;height:6px;width:6px}.cp-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#f8fafc 30%,#a78bfa 70%,#22d3ee);-webkit-background-clip:text;background-clip:text;font-size:clamp(36px,5vw,72px);font-weight:800;letter-spacing:-2px;margin:0 0 20px}.cp-subtitle{color:#64748b;font-size:17px;line-height:1.7;margin:0 auto 36px;max-width:560px}.cp-search-wrap{margin:0 auto;max-width:480px;position:relative}.cp-search-icon{color:#475569;left:16px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.cp-search{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;box-sizing:border-box;color:#f8fafc;font-size:14.5px;outline:none;padding:13px 44px;transition:border-color .2s ease,background .2s ease;width:100%}.cp-search::placeholder{color:#334155}.cp-search:focus{background:#ffffff12;border-color:#7c3aed80}.cp-search-clear{background:none;border:none;color:#475569;cursor:pointer;font-size:13px;padding:4px;position:absolute;right:14px;top:50%;transform:translateY(-50%);transition:color .2s}.cp-search-clear:hover{color:#94a3b8}.cp-search-result-count{color:#ffffff73;font-size:.78rem;letter-spacing:.01em;margin-top:.5rem;text-align:center}.cp-grid-layout{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.cp-card{backdrop-filter:blur(16px);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(var(--glass-blur));background:#0f172a33;background:rgba(var(--glass-bg-rgb),var(--glass-bg-opacity));border:1px solid #ffffff26;border:1px solid rgba(var(--glass-border-rgb),var(--glass-border-opacity));border-radius:20px;cursor:pointer;display:flex;flex-direction:column;gap:12px;overflow:hidden;padding:28px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.cp-card-shimmer{background:linear-gradient(90deg,#0000,#ffffff0a,#0000);height:100%;left:-100%;pointer-events:none;position:absolute;top:0;transform:skewX(-20deg);transition:left .6s ease;width:60%}.cp-card:hover .cp-card-shimmer{left:150%}.cp-card-icon{align-items:center;background:#7c3aed26;border:1px solid #7c3aed40;border-radius:12px;color:#a78bfa;display:inline-flex;height:44px;justify-content:center;width:44px}.cp-card-title{color:#f8fafc;font-size:17px;font-weight:700;margin:0}.cp-card-desc{color:#64748b;flex:1 1;font-size:13.5px;line-height:1.65;margin:0}.cp-card-footer{align-items:center;color:#a78bfa;display:flex;font-size:13px;font-weight:600;gap:6px;margin-top:4px}.cp-card-arrow{transition:transform .2s ease}.cp-card-arrow--active{transform:translateX(4px)}.cp-empty{padding:80px 24px;text-align:center}.cp-empty-icon{color:#1e293b;font-size:48px;margin-bottom:20px}.cp-empty-title{color:#334155;font-size:22px;font-weight:700;margin:0 0 8px}.cp-empty-desc{color:#475569;margin:0 0 24px}.cp-empty-btn{background:#7c3aed26;border:1px solid #7c3aed4d;border-radius:10px;color:#a78bfa;cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px;transition:background .2s ease}.cp-empty-btn:hover{background:#7c3aed40}.cp-pagination{align-items:center;display:flex;gap:12px;justify-content:center;margin-top:52px}.cp-page-btn{background:#ffffff0d;border:1px solid #ffffff17;border-radius:10px;color:#94a3b8;cursor:pointer;font-size:13.5px;font-weight:600;padding:9px 20px;transition:all .2s ease}.cp-page-btn:hover:not(:disabled){background:#7c3aed26;border-color:#7c3aed4d;color:#a78bfa}.cp-page-btn:disabled{cursor:not-allowed;opacity:.35}.cp-page-nums{display:flex;gap:6px}.cp-page-num{background:#ffffff0a;border:1px solid #ffffff12;border-radius:8px;color:#64748b;cursor:pointer;font-size:13px;font-weight:600;height:36px;transition:all .2s ease;width:36px}.cp-page-num:hover{background:#ffffff14;color:#f8fafc}.cp-page-num--active{background:#7c3aed33;border-color:#7c3aed66;color:#a78bfa}@media (max-width:1100px){.cp-container{padding:120px 40px 60px}}@media (max-width:640px){.cp-container{padding:110px 20px 50px}.cp-grid-layout{grid-template-columns:1fr}.cp-page-nums{display:none}}.about-root{background:#03010f;color:#f8fafc;font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,sans-serif;min-height:100vh;overflow-x:hidden;padding:130px 24px 80px;position:relative}.about-orb-1{animation:orb1 22s ease-in-out infinite;background:radial-gradient(circle,#7c3aed26,#0000 70%);filter:blur(80px);height:600px;left:-150px;top:-150px;width:600px}.about-orb-1,.about-orb-2{border-radius:50%;pointer-events:none;position:fixed;z-index:0}.about-orb-2{animation:orb2 28s ease-in-out infinite;background:radial-gradient(circle,#0891b21f,#0000 70%);bottom:0;filter:blur(70px);height:400px;right:0;width:400px}.about-inner{margin:0 auto;max-width:800px;position:relative;z-index:1}.about-header{margin-bottom:60px;text-align:center}.about-title{-webkit-text-fill-color:#0000;animation:grad-flow 5s linear infinite;background:linear-gradient(135deg,#a78bfa,#22d3ee,#f472b6);-webkit-background-clip:text;background-clip:text;background-size:200% auto;font-size:clamp(40px,5vw,72px);font-weight:800;letter-spacing:-2px;margin:16px 0 20px}.about-lead{color:#64748b;font-size:18px;line-height:1.7;margin:0}.about-section{margin-bottom:32px}.about-card{background:#ffffff08;border:1px solid #ffffff12;border-radius:20px;padding:32px;transition:all .3s ease}.about-card:hover{background:hsla(0,0%,100%,.055);border-color:#7c3aed33;transform:translateY(-3px)}.about-section-title{color:#a78bfa;font-size:13px;font-weight:700;letter-spacing:2px;margin:0 0 16px;text-transform:uppercase}.about-text{color:#94a3b8;font-size:15px;line-height:1.75;margin:0}.about-who-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr)}.about-who-card{background:#ffffff08;border:1px solid #ffffff12;border-radius:16px;padding:24px;transition:all .3s ease}.about-who-card:hover{background:hsla(0,0%,100%,.055);border-color:#7c3aed33;transform:translateY(-3px)}.about-who-icon{font-size:24px;margin-bottom:12px}.about-who-title{color:#f8fafc;font-size:15px;font-weight:700;margin:0 0 8px}.about-who-desc{color:#64748b;font-size:13.5px;line-height:1.6;margin:0}.about-footer{align-items:center;display:flex;flex-direction:column;gap:20px;margin-top:48px;text-align:center}.about-github-btn{align-items:center;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;color:#e2e8f0;display:inline-flex;font-size:14.5px;font-weight:600;gap:10px;padding:12px 28px;text-decoration:none;transition:all .2s ease}.about-github-btn:hover{background:#7c3aed26;border-color:#7c3aed59;transform:translateY(-2px)}@media (max-width:640px){.about-who-grid{grid-template-columns:1fr}.about-card,.about-who-card{padding:20px}}.about-programs-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}.about-program-card{background:#ffffff08;border:1px solid #ffffff12;border-radius:18px;display:flex;flex-direction:column;gap:12px;overflow:hidden;padding:28px;position:relative;transition:all .3s ease}.about-program-card:hover{background:#ffffff0d;box-shadow:0 20px 40px #00000059;transform:translateY(-4px)}.about-program-glow{inset:0;pointer-events:none;position:absolute}.about-program-top{align-items:center;display:flex;gap:12px;justify-content:space-between;position:relative}.about-program-logo{align-items:center;border-radius:8px;box-shadow:0 4px 12px #00000040;color:#fff;display:inline-flex;font-size:12px;font-weight:800;letter-spacing:1px;padding:6px 14px}.about-program-years{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.about-program-year{border:1px solid;border-radius:100px;font-size:11px;font-weight:700;padding:3px 10px}.about-program-name{color:#f8fafc;font-size:16px;font-weight:700;margin:0;position:relative}.about-program-desc{color:#64748b;flex:1 1;font-size:13.5px;line-height:1.65;margin:0;position:relative}.about-program-badge{align-items:center;border:1px solid;border-radius:100px;display:inline-flex;font-size:11.5px;font-weight:700;gap:5px;padding:4px 12px;position:relative;width:-webkit-fit-content;width:fit-content}@media (max-width:640px){.about-programs-grid{grid-template-columns:1fr}.about-program-card{padding:20px}}.contrib-root{background:#03010f;color:#f8fafc;font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,sans-serif;min-height:100vh;overflow-x:hidden;position:relative}.contrib-orb-1{animation:orb1 22s ease-in-out infinite;background:radial-gradient(circle,#7c3aed26,#0000 70%);filter:blur(80px);height:700px;left:-200px;top:-200px;width:700px}.contrib-orb-1,.contrib-orb-2{border-radius:50%;pointer-events:none;position:fixed;z-index:0}.contrib-orb-2{animation:orb2 28s ease-in-out infinite;background:radial-gradient(circle,#0891b21f,#0000 70%);bottom:-100px;filter:blur(70px);height:500px;right:-100px;width:500px}.contrib-hero{padding:160px 24px 80px;position:relative;text-align:center;z-index:1}.contrib-hero-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#f8fafc 30%,#a78bfa 65%,#22d3ee);-webkit-background-clip:text;background-clip:text;font-size:clamp(40px,5vw,72px);font-weight:800;letter-spacing:-2px;margin:0 0 20px}.contrib-hero-sub{color:#64748b;font-size:18px;line-height:1.7;margin:0 auto;max-width:520px}.contrib-stats{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:0 auto;max-width:1200px;padding:0 80px 64px;position:relative;z-index:1}.contrib-stat-card{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff08;border:1px solid #ffffff12;border-radius:16px;display:flex;gap:16px;padding:24px;transition:all .3s ease}.contrib-stat-card:hover{background:hsla(0,0%,100%,.055);border-color:#7c3aed33;transform:translateY(-4px)}.contrib-stat-icon{align-items:center;background:#7c3aed26;border:1px solid #7c3aed40;border-radius:12px;color:#a78bfa;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.contrib-stat-value{color:#f8fafc;font-size:28px;font-weight:800;line-height:1;margin-bottom:4px}.contrib-stat-label{color:#475569;font-size:12px;font-weight:500}.contrib-section{margin:0 auto;max-width:1200px;padding:0 80px 80px;position:relative;z-index:1}.contrib-section-title{color:#f8fafc;font-size:32px;font-weight:700;letter-spacing:-.5px;margin:0 0 36px;text-align:center}.contrib-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.contrib-card{background:#ffffff08;border:1px solid #ffffff12;border-radius:18px;display:block;overflow:hidden;text-decoration:none;transition:all .3s ease}.contrib-card:hover{background:hsla(0,0%,100%,.055);border-color:#7c3aed40;box-shadow:0 20px 40px #00000059;transform:translateY(-5px)}.contrib-card-body{padding:24px;text-align:center}.contrib-avatar{border:2px solid #7c3aed59;border-radius:50%;display:block;height:72px;margin:0 auto 14px;width:72px}.contrib-login{color:#f8fafc;font-size:15px;font-weight:700;margin:0 0 6px}.contrib-type{color:#475569;font-size:12px;margin:0 0 14px;text-transform:capitalize}.contrib-badge{align-items:center;background:#7c3aed1f;border:1px solid #7c3aed40;border-radius:100px;color:#a78bfa;display:inline-flex;font-size:12px;font-weight:600;gap:6px;padding:5px 14px}.contrib-card-footer-bar{align-items:center;background:hsla(0,0%,100%,.025);border-top:1px solid #ffffff0d;color:#475569;display:flex;font-size:12.5px;justify-content:space-between;padding:12px 24px}.contrib-view-link{color:#a78bfa;font-size:12.5px;font-weight:600}.contrib-loading{align-items:center;display:flex;flex-direction:column;gap:16px;justify-content:center;min-height:60vh;position:relative;z-index:1}.contrib-spinner{animation:spin .8s linear infinite;border:3px solid #7c3aed33;border-radius:50%;border-top-color:#7c3aed;height:48px;width:48px}@keyframes spin{to{transform:rotate(1turn)}}.contrib-loading-text{color:#475569;font-size:15px}.notfound-root{align-items:center;background:#03010f;color:#f8fafc;display:flex;font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,sans-serif;justify-content:center;min-height:100vh;overflow:hidden;padding:24px;position:relative}.notfound-orb-1{background:radial-gradient(circle,#7c3aed26,#0000 70%);filter:blur(80px);height:600px;left:-150px;top:-150px;width:600px}.notfound-orb-1,.notfound-orb-2{border-radius:50%;pointer-events:none;position:fixed;z-index:0}.notfound-orb-2{background:radial-gradient(circle,#be185d1f,#0000 70%);bottom:-100px;filter:blur(70px);height:400px;right:-80px;width:400px}.notfound-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff08;border:1px solid #ffffff12;border-radius:28px;max-width:480px;padding:60px 48px;position:relative;text-align:center;width:100%;z-index:1}.notfound-code{-webkit-text-fill-color:#0000;animation:grad-flow 5s linear infinite;background:linear-gradient(135deg,#a78bfa,#22d3ee,#f472b6);-webkit-background-clip:text;background-clip:text;background-size:200% auto;font-size:120px;font-weight:900;letter-spacing:-6px;line-height:1;margin-bottom:16px}.notfound-title{color:#f8fafc;font-size:24px;font-weight:700;margin:0 0 12px}.notfound-desc{color:#64748b;font-size:15px;line-height:1.7;margin:0 0 36px}.notfound-btn{align-items:center;background:linear-gradient(135deg,#7c3aed,#0891b2);border:none;border-radius:12px;box-shadow:0 0 30px #7c3aed59;color:#fff;cursor:pointer;display:inline-flex;font-size:14.5px;font-weight:600;gap:8px;padding:13px 28px;transition:all .25s ease}.notfound-btn:hover{box-shadow:0 0 45px #7c3aed80;transform:translateY(-2px)}.footer-root{background:#03010f;border-top:1px solid #ffffff0f;color:#f8fafc;font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,sans-serif;overflow:hidden;position:relative}.footer-glow-left{background:radial-gradient(circle,#7c3aed14,#0000 70%);height:300px;left:-100px;top:0;width:500px}.footer-glow-left,.footer-glow-right{filter:blur(60px);pointer-events:none;position:absolute}.footer-glow-right{background:radial-gradient(circle,#0891b20f,#0000 70%);bottom:0;height:250px;right:-80px;width:400px}.footer-inner{grid-gap:48px;display:grid;gap:48px;grid-template-columns:2fr 1fr 1fr 2fr;margin:0 auto;max-width:1400px;padding:64px 80px 48px;position:relative;z-index:1}.footer-brand{display:flex;flex-direction:column;gap:16px}.footer-logo{align-items:center;display:inline-flex;gap:10px;text-decoration:none}.footer-logo-mark{align-items:center;background:linear-gradient(135deg,#7c3aed,#0891b2);border-radius:8px;color:#fff;display:flex;font-size:16px;font-weight:800;height:32px;justify-content:center;width:32px}.footer-logo-text{color:#f8fafc;font-size:16px;font-weight:700}.footer-logo-accent{color:#a78bfa}.footer-tagline{color:#475569;font-size:13.5px;line-height:1.7;margin:0;max-width:280px}.footer-social{display:flex;gap:10px;margin-top:4px}.footer-social-btn{align-items:center;background:#ffffff0d;border:1px solid #ffffff14;border-radius:9px;color:#64748b;display:flex;height:36px;justify-content:center;text-decoration:none;transition:all .2s ease;width:36px}.footer-social-btn:hover{background:#7c3aed26;border-color:#7c3aed4d;color:#a78bfa;transform:translateY(-2px)}.footer-col{display:flex;flex-direction:column;gap:16px}.footer-col-title{color:#a78bfa;font-size:11.5px;font-weight:700;letter-spacing:2px;margin:0;text-transform:uppercase}.footer-links{display:flex;flex-direction:column;gap:10px;list-style:none;margin:0;padding:0}.footer-link{color:#475569;font-size:13.5px;text-decoration:none;transition:color .2s ease}.footer-link:hover{color:#f8fafc}.footer-newsletter-desc{color:#475569;font-size:13px;line-height:1.6;margin:0}.footer-form{display:flex;flex-wrap:wrap;gap:8px}.footer-input{background:#ffffff0a;border:1px solid #ffffff17;border-radius:9px;color:#f8fafc;flex:1 1;font-size:13.5px;min-width:160px;outline:none;padding:10px 14px;transition:border-color .2s ease,background .2s ease}.footer-input::placeholder{color:#334155}.footer-input:focus{background:#ffffff12;border-color:#7c3aed80}.footer-submit{background:linear-gradient(135deg,#7c3aed,#0891b2);border:none;border-radius:9px;color:#fff;cursor:pointer;font-size:13.5px;font-weight:600;padding:10px 20px;transition:opacity .2s ease,transform .2s ease;white-space:nowrap}.footer-submit:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.footer-submit:disabled{cursor:not-allowed;opacity:.5}.footer-subscribed{align-items:center;color:#22c55e;display:flex;font-size:13.5px;gap:8px;padding:10px 0}.footer-bottom{align-items:center;border-top:1px solid #ffffff0d;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin:0 auto;max-width:1400px;padding:20px 80px 32px;position:relative;z-index:1}.footer-copy{color:#334155;font-size:12.5px;margin:0}.footer-bottom-links{display:flex;gap:24px}.footer-bottom-links .footer-link{font-size:12.5px}@media (max-width:1100px){.footer-inner{gap:36px;grid-template-columns:1fr 1fr;padding:48px 40px 32px}.footer-bottom{padding:20px 40px 28px}}@media (max-width:640px){.footer-inner{gap:28px;grid-template-columns:1fr;padding:40px 24px 28px}.footer-bottom{align-items:flex-start;flex-direction:column;padding:16px 24px 24px}}div.min-h-screen.p-8.bg-gradient-to-r.from-gray-800.via-gray-900.to-black{padding-top:100px}@media (max-width:640px){div.min-h-screen.p-8.bg-gradient-to-r.from-gray-800.via-gray-900.to-black{padding-top:80px}}.navbar{justify-content:space-between;padding:1rem 2rem;width:100%}.nav-links,.navbar{align-items:center;display:flex;flex-wrap:wrap}.nav-links{gap:1.5rem;list-style:none}.nav-links a{font-size:1rem;text-decoration:none;transition:.3s ease}.nav-links a:hover{opacity:.8}@media screen and (max-width:992px){.navbar{padding:1rem}.nav-links{gap:1rem}.nav-links a{font-size:.95rem}}@media screen and (max-width:768px){.navbar{align-items:center;flex-direction:column;text-align:center}.nav-links{gap:.8rem;justify-content:center;margin-top:1rem}.nav-links a{font-size:.9rem}}@media screen and (max-width:480px){.navbar{padding:.8rem}.nav-links{flex-direction:column;width:100%}.nav-links a{display:block;padding:.5rem 0;width:100%}}@supports not (((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))) or (-webkit-backdrop-filter:blur(1px))){.adaptive-glass{background:#0f172ae0;border-color:#fff3;box-shadow:0 18px 48px #02061761}.frosted-glass,.glassmorphism{background:#ffffffc7;border-color:#ffffff6b;box-shadow:0 14px 36px #1f268747}.contrib-stat-card,.notfound-card{background:#0f172ad1;border-color:#ffffff29;box-shadow:0 18px 48px #02061759}}body.light-theme{--app-bg:#f3f4f6;--app-text:#0f172a}body.light-theme .text-white,body.light-theme a:not(.github-pill,.hero-cta,.programs-cta-link,.contrib-card),body.light-theme h1,body.light-theme h2,body.light-theme h3,body.light-theme h4,body.light-theme h5,body.light-theme h6,body.light-theme label,body.light-theme p,body.light-theme span:not(.logo-accent,.github-star-badge,.badge-dot,.cp-badge-dot,.mini-tag,.program-logo-text,.contrib-badge,.cta-stars),body.light-theme td,body.light-theme th{color:#0f172a!important}body.light-theme .text-gray-100{color:#334155!important}body.light-theme .text-gray-200{color:#475569!important}body.light-theme .landing-root,body.light-theme div.bg-gradient-to-r.from-gray-800.via-gray-900.to-black{background:radial-gradient(circle at center,#f2f6ff,#dde7f0,#bcd0e0,#93b3cc)!important}body.light-theme .landing-root{color:#0f172a!important}body.light-theme .about-root,body.light-theme .contrib-root,body.light-theme .cp-root{background:#f3f4f6!important;color:#0f172a!important}body.light-theme .adaptive-app-shell{background:radial-gradient(circle at 20% 12%,#7c3aed0f,#0000 18%),radial-gradient(circle at 85% 15%,#0ea5e90f,#0000 18%),radial-gradient(circle at 50% 78%,#3b82f60a,#0000 28%),linear-gradient(180deg,#f3f4f6,#e5e7eb)!important;color:#0f172a!important}body.light-theme .adaptive-glass{box-shadow:0 8px 32px #1f26870d!important;color:#0f172a!important}body.light-theme .adaptive-app-shell:before{background:radial-gradient(circle at top left,#7c3aed1a,#0000 24%),radial-gradient(circle at bottom right,#0ea5e91a,#0000 20%)!important}body.light-theme .hero-title .title-line:not(.title-gradient){color:#0f172a!important}body.light-theme .hero-subtitle{color:#334155!important}body.light-theme .stat-card{background:#ffffff80!important;border-color:#7c3aed33!important}body.light-theme .stat-value{color:#0f172a!important}body.light-theme .stat-label{color:#475569!important}body.light-theme .feature-card{background:#ffffff80!important;border-color:#7c3aed1a!important}body.light-theme .feature-title{color:#0f172a!important}body.light-theme .feature-desc{color:#475569!important}body.light-theme .programs-title{color:#0f172a!important}body.light-theme .programs-subtitle{color:#475569!important}body.light-theme .program-card{background:#ffffff80!important;border-color:#7c3aed1a!important}body.light-theme .program-name{color:#0f172a!important}body.light-theme .program-desc{color:#475569!important}body.light-theme .cta-title{color:#0f172a!important}body.light-theme .cta-subtitle{color:#475569!important}body.light-theme .cta-card{background:#fff9!important;border-color:#fff6!important}body.light-theme .site-header:not(.site-header--scrolled){backdrop-filter:blur(16px)!important;backdrop-filter:blur(var(--glass-blur,16px))!important;-webkit-backdrop-filter:blur(16px)!important;-webkit-backdrop-filter:blur(var(--glass-blur,16px))!important;background:rgba(255,255,255,.35)!important;background:rgba(255,255,255,calc(var(--glass-bg-opacity, .2) + .15))!important;border-bottom-color:#0000000f!important;box-shadow:0 4px 20px #00000005!important}body.light-theme .site-header--scrolled{background:#fffc!important;border-bottom-color:#00000014!important;box-shadow:0 4px 40px #00000014!important}body.light-theme .logo-wordmark{color:#0f172a!important}body.light-theme .nav-item{color:#475569!important}body.light-theme .nav-item:hover{background:#0000000d!important;color:#0f172a!important}body.light-theme .nav-item--active{background:#7c3aed14!important;color:#7c3aed!important}body.light-theme .github-pill{background:#0000000a!important;border-color:#00000014!important;color:#334155!important}body.light-theme .github-pill:hover{background:#00000014!important;border-color:#0000001f!important}body.light-theme .hamburger{background:#0000000a!important;border-color:#00000014!important}body.light-theme .hamburger span{background:#475569!important}body.light-theme .mobile-drawer{background:#fffffff5!important;border-top-color:#00000014!important}body.light-theme .mobile-nav-item{color:#475569!important}body.light-theme .mobile-nav-item:hover{background:#0000000a!important;color:#0f172a!important}body.light-theme .mobile-nav-item--active{background:#7c3aed14!important;color:#7c3aed!important}body.light-theme .mobile-github-btn{background:#0000000a!important;border-color:#00000014!important;color:#334155!important}body.light-theme .footer-root{background:#f3f4f6!important;border-top-color:#00000014!important}body.light-theme .footer-logo-text{color:#0f172a!important}body.light-theme .footer-col-title,body.light-theme .footer-copy,body.light-theme .footer-newsletter-desc,body.light-theme .footer-tagline{color:#475569!important}body.light-theme .footer-link{color:#64748b!important}body.light-theme .footer-link:hover{color:#0f172a!important}body.light-theme .footer-input{background:#0000000a!important;border-color:#00000014!important;color:#0f172a!important}body.light-theme .footer-input::placeholder{color:#94a3b8!important}body.light-theme .footer-social-btn{background:#0000000a!important;border-color:#00000014!important;color:#475569!important}body.light-theme .footer-social-btn:hover{background:#00000014!important;color:#0f172a!important}body.light-theme .stories-select option{background:#fff!important;color:#0f172a!important}body.light-theme .stories-select optgroup{background:#fff!important;color:#7c3aed!important}.backdrop-blur-2xl,.backdrop-blur-lg,.backdrop-blur-md,.backdrop-blur-xl{backdrop-filter:blur(16px)!important;backdrop-filter:blur(var(--glass-blur))!important;-webkit-backdrop-filter:blur(16px)!important;-webkit-backdrop-filter:blur(var(--glass-blur))!important}.bg-white.bg-opacity-10,.bg-white.bg-opacity-20,.bg-white\/10,.bg-white\/20,.bg-white\/30,.bg-white\/40,.bg-white\/5{background-color:#0f172a33!important;background-color:rgba(var(--glass-bg-rgb),var(--glass-bg-opacity))!important}.border-white.border-opacity-20,.border-white\/10,.border-white\/20,.border-white\/30{border-color:#ffffff26!important;border-color:rgba(var(--glass-border-rgb),var(--glass-border-opacity))!important}.placeholder\:text-slate-500::placeholder{--tw-text-opacity:1;color:#64748b;color:rgb(100 116 139/var(--tw-text-opacity,1))}.focus-within\:border-white:focus-within{--tw-border-opacity:1;border-color:#fff;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.hover\:-translate-y-0\.5:hover{--tw-translate-y:-0.125rem}.hover\:-translate-y-0\.5:hover,.hover\:-translate-y-1:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:-translate-y-1:hover{--tw-translate-y:-0.25rem}.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}.hover\:scale-105:hover,.hover\:scale-110:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}.hover\:scale-\[1\.01\]:hover{--tw-scale-x:1.01;--tw-scale-y:1.01;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-slate-300:hover{--tw-border-opacity:1;border-color:#cbd5e1;border-color:rgb(203 213 225/var(--tw-border-opacity,1))}.hover\:border-white\/30:hover{border-color:#ffffff4d}.hover\:bg-blue-500:hover{--tw-bg-opacity:1;background-color:#3b82f6;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.hover\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:#2563eb;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.hover\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:#1d4ed8;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.hover\:bg-gray-600:hover{--tw-bg-opacity:1;background-color:#4b5563;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.hover\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:#374151;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.hover\:bg-slate-100:hover{--tw-bg-opacity:1;background-color:#f1f5f9;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.hover\:bg-slate-200:hover{--tw-bg-opacity:1;background-color:#e2e8f0;background-color:rgb(226 232 240/var(--tw-bg-opacity,1))}.hover\:bg-slate-200\/30:hover{background-color:#e2e8f04d}.hover\:bg-slate-200\/50:hover{background-color:#e2e8f080}.hover\:bg-white\/10:hover{background-color:#ffffff1a}.hover\:bg-white\/15:hover{background-color:#ffffff26}.hover\:bg-white\/20:hover{background-color:#fff3}.hover\:bg-white\/40:hover{background-color:#fff6}.hover\:bg-white\/50:hover{background-color:#ffffff80}.hover\:bg-white\/80:hover{background-color:#fffc}.hover\:bg-opacity-20:hover{--tw-bg-opacity:0.2}.hover\:bg-opacity-25:hover{--tw-bg-opacity:0.25}.hover\:bg-opacity-30:hover{--tw-bg-opacity:0.3}.hover\:bg-opacity-40:hover{--tw-bg-opacity:0.4}.hover\:bg-opacity-50:hover{--tw-bg-opacity:0.5}.hover\:from-\[\#7c3aed\]:hover{--tw-gradient-from:#7c3aed var(--tw-gradient-from-position);--tw-gradient-to:#7c3aed00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-blue-500:hover{--tw-gradient-from:#3b82f6 var(--tw-gradient-from-position);--tw-gradient-to:#3b82f600 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-gray-600:hover{--tw-gradient-from:#4b5563 var(--tw-gradient-from-position);--tw-gradient-to:#4b556300 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-violet-500:hover{--tw-gradient-from:#8b5cf6 var(--tw-gradient-from-position);--tw-gradient-to:#8b5cf600 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:to-\[\#2563eb\]:hover{--tw-gradient-to:#2563eb var(--tw-gradient-to-position)}.hover\:to-gray-700:hover{--tw-gradient-to:#374151 var(--tw-gradient-to-position)}.hover\:to-indigo-500:hover{--tw-gradient-to:#6366f1 var(--tw-gradient-to-position)}.hover\:to-purple-500:hover{--tw-gradient-to:#a855f7 var(--tw-gradient-to-position)}.hover\:text-blue-300:hover{--tw-text-opacity:1;color:#93c5fd;color:rgb(147 197 253/var(--tw-text-opacity,1))}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:#374151;color:rgb(55 65 81/var(--tw-text-opacity,1))}.hover\:text-pink-600:hover{--tw-text-opacity:1;color:#db2777;color:rgb(219 39 119/var(--tw-text-opacity,1))}.hover\:text-slate-200:hover{--tw-text-opacity:1;color:#e2e8f0;color:rgb(226 232 240/var(--tw-text-opacity,1))}.hover\:text-slate-800:hover{--tw-text-opacity:1;color:#1e293b;color:rgb(30 41 59/var(--tw-text-opacity,1))}.hover\:text-slate-900:hover{--tw-text-opacity:1;color:#0f172a;color:rgb(15 23 42/var(--tw-text-opacity,1))}.hover\:text-white:hover{--tw-text-opacity:1;color:#fff;color:rgb(255 255 255/var(--tw-text-opacity,1))}.hover\:underline:hover{-webkit-text-decoration-line:underline;text-decoration-line:underline}.hover\:shadow-\[0_0_0_1px_rgba\(124\2c 58\2c 237\2c 0\.4\)\2c 0_12px_40px_rgba\(124\2c 58\2c 237\2c 0\.5\)\2c inset_0_1px_0_rgba\(255\2c 255\2c 255\2c 0\.18\)\]:hover{--tw-shadow:0 0 0 1px #7c3aed66,0 12px 40px #7c3aed80,inset 0 1px 0 #ffffff2e;--tw-shadow-colored:0 0 0 1px var(--tw-shadow-color),0 12px 40px var(--tw-shadow-color),inset 0 1px 0 var(--tw-shadow-color);box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-\[0_0_25px_rgba\(34\2c 211\2c 238\2c 0\.55\)\]:hover{--tw-shadow:0 0 25px #22d3ee8c;--tw-shadow-colored:0 0 25px var(--tw-shadow-color);box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-\[0_0_28px_rgba\(217\2c 70\2c 239\2c 0\.6\)\]:hover{--tw-shadow:0 0 28px #d946ef99;--tw-shadow-colored:0 0 28px var(--tw-shadow-color)}.hover\:shadow-\[0_0_28px_rgba\(217\2c 70\2c 239\2c 0\.6\)\]:hover,.hover\:shadow-\[0_0_28px_rgba\(251\2c 146\2c 60\2c 0\.6\)\]:hover{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-\[0_0_28px_rgba\(251\2c 146\2c 60\2c 0\.6\)\]:hover{--tw-shadow:0 0 28px #fb923c99;--tw-shadow-colored:0 0 28px var(--tw-shadow-color)}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.hover\:shadow-lg:hover,.hover\:shadow-xl:hover{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);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 #0000001a,0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.focus\:border-blue-500:focus{--tw-border-opacity:1;border-color:#3b82f6;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.focus\:border-blue-500\/50:focus{border-color:#3b82f680}.focus\:border-cyan-500\/50:focus{border-color:#06b6d480}.focus\:border-white\/40:focus{border-color:#fff6}.focus\:bg-gray-600:focus{--tw-bg-opacity:1;background-color:#4b5563;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.focus\:bg-gray-700:focus{--tw-bg-opacity:1;background-color:#374151;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.focus\:bg-white:focus{--tw-bg-opacity:1;background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.focus\:shadow-\[0_0_0_1px_rgba\(34\2c 211\2c 238\2c 0\.2\)\2c 0_12px_32px_rgba\(34\2c 211\2c 238\2c 0\.1\)\]:focus{--tw-shadow:0 0 0 1px #22d3ee33,0 12px 32px #22d3ee1a;--tw-shadow-colored:0 0 0 1px var(--tw-shadow-color),0 12px 32px var(--tw-shadow-color);box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus\:outline-none:focus{outline:2px solid #0000;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),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.focus\:ring-blue-900:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(30 58 138/var(--tw-ring-opacity,1))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.active\:scale-95:active{--tw-scale-x:.95;--tw-scale-y:.95}.active\:scale-95:active,.group:hover .group-hover\:translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:translate-x-full{--tw-translate-x:100%}.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)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:bg-white\/30{background-color:#ffffff4d}.group:hover .group-hover\:opacity-100{opacity:1}.dark\:border-blue-500\/30:is(.dark *){border-color:#3b82f64d}.dark\:border-cyan-300\/20:is(.dark *){border-color:#67e8f933}.dark\:border-cyan-400\/20:is(.dark *){border-color:#22d3ee33}.dark\:border-white\/10:is(.dark *){border-color:#ffffff1a}.dark\:border-white\/15:is(.dark *){border-color:#ffffff26}.dark\:border-white\/20:is(.dark *){border-color:#fff3}.dark\:border-white\/5:is(.dark *){border-color:#ffffff0d}.dark\:bg-black\/20:is(.dark *){background-color:#0003}.dark\:bg-black\/30:is(.dark *){background-color:#0000004d}.dark\:bg-blue-600\/20:is(.dark *){background-color:#2563eb33}.dark\:bg-cyan-300:is(.dark *){--tw-bg-opacity:1;background-color:#67e8f9;background-color:rgb(103 232 249/var(--tw-bg-opacity,1))}.dark\:bg-cyan-300\/10:is(.dark *){background-color:#67e8f91a}.dark\:bg-cyan-500\/10:is(.dark *){background-color:#06b6d41a}.dark\:bg-gray-800:is(.dark *){--tw-bg-opacity:1;background-color:#1f2937;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.dark\:bg-slate-900:is(.dark *){--tw-bg-opacity:1;background-color:#0f172a;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.dark\:bg-slate-900\/80:is(.dark *){background-color:#0f172acc}.dark\:bg-slate-950\/40:is(.dark *){background-color:#02061766}.dark\:bg-slate-950\/70:is(.dark *){background-color:#020617b3}.dark\:bg-white\/10:is(.dark *){background-color:#ffffff1a}.dark\:bg-white\/40:is(.dark *){background-color:#fff6}.dark\:bg-white\/5:is(.dark *){background-color:#ffffff0d}.dark\:font-light:is(.dark *){font-weight:300}.dark\:text-blue-300:is(.dark *){--tw-text-opacity:1;color:#93c5fd;color:rgb(147 197 253/var(--tw-text-opacity,1))}.dark\:text-blue-400:is(.dark *){--tw-text-opacity:1;color:#60a5fa;color:rgb(96 165 250/var(--tw-text-opacity,1))}.dark\:text-cyan-100:is(.dark *){--tw-text-opacity:1;color:#cffafe;color:rgb(207 250 254/var(--tw-text-opacity,1))}.dark\:text-cyan-100\/90:is(.dark *){color:#cffafee6}.dark\:text-cyan-200:is(.dark *){--tw-text-opacity:1;color:#a5f3fc;color:rgb(165 243 252/var(--tw-text-opacity,1))}.dark\:text-cyan-50:is(.dark *){--tw-text-opacity:1;color:#ecfeff;color:rgb(236 254 255/var(--tw-text-opacity,1))}.dark\:text-emerald-200:is(.dark *){--tw-text-opacity:1;color:#a7f3d0;color:rgb(167 243 208/var(--tw-text-opacity,1))}.dark\:text-gray-200:is(.dark *){--tw-text-opacity:1;color:#e5e7eb;color:rgb(229 231 235/var(--tw-text-opacity,1))}.dark\:text-green-400:is(.dark *){--tw-text-opacity:1;color:#4ade80;color:rgb(74 222 128/var(--tw-text-opacity,1))}.dark\:text-purple-300:is(.dark *){--tw-text-opacity:1;color:#d8b4fe;color:rgb(216 180 254/var(--tw-text-opacity,1))}.dark\:text-slate-200:is(.dark *){--tw-text-opacity:1;color:#e2e8f0;color:rgb(226 232 240/var(--tw-text-opacity,1))}.dark\:text-slate-300:is(.dark *){--tw-text-opacity:1;color:#cbd5e1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.dark\:text-slate-400:is(.dark *){--tw-text-opacity:1;color:#94a3b8;color:rgb(148 163 184/var(--tw-text-opacity,1))}.dark\:text-white:is(.dark *){--tw-text-opacity:1;color:#fff;color:rgb(255 255 255/var(--tw-text-opacity,1))}.dark\:text-white\/40:is(.dark *){color:#fff6}.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-yellow-300:is(.dark *){--tw-text-opacity:1;color:#fde047;color:rgb(253 224 71/var(--tw-text-opacity,1))}.dark\:placeholder-white\/30:is(.dark *)::placeholder{color:#ffffff4d}.dark\:shadow-\[0_0_0_1px_rgba\(34\2c 211\2c 238\2c 0\.15\)\2c 0_8px_24px_rgba\(34\2c 211\2c 238\2c 0\.12\)\]:is(.dark *){--tw-shadow:0 0 0 1px #22d3ee26,0 8px 24px #22d3ee1f;--tw-shadow-colored:0 0 0 1px var(--tw-shadow-color),0 8px 24px var(--tw-shadow-color);box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.dark\:placeholder\:text-slate-400:is(.dark *)::placeholder{--tw-text-opacity:1;color:#94a3b8;color:rgb(148 163 184/var(--tw-text-opacity,1))}.dark\:hover\:border-white\/25:hover:is(.dark *){border-color:#ffffff40}.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\/5:hover:is(.dark *){background-color:#ffffff0d}.dark\:hover\:text-white:hover:is(.dark *){--tw-text-opacity:1;color:#fff;color:rgb(255 255 255/var(--tw-text-opacity,1))}.dark\:focus\:bg-white\/15:focus:is(.dark *){background-color:#ffffff26}.dark\:focus\:shadow-\[0_0_0_1px_rgba\(34\2c 211\2c 238\2c 0\.3\)\2c 0_12px_32px_rgba\(34\2c 211\2c 238\2c 0\.2\)\]:focus:is(.dark *){--tw-shadow:0 0 0 1px #22d3ee4d,0 12px 32px #22d3ee33;--tw-shadow-colored:0 0 0 1px var(--tw-shadow-color),0 12px 32px var(--tw-shadow-color);box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}@media not all and (min-width:768px){.max-md\:block{display:block}.max-md\:hidden{display:none}.max-md\:flex-col{flex-direction:column}.max-md\:items-start{align-items:flex-start}.max-md\:space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}}@media not all and (min-width:640px){.max-sm\:mx-2{margin-left:.5rem;margin-right:.5rem}.max-sm\:w-full{width:100%}.max-sm\:p-2{padding:.5rem}.max-sm\:px-0{padding-left:0;padding-right:0}.max-sm\:px-1{padding-left:.25rem;padding-right:.25rem}.max-sm\:px-4{padding-left:1rem;padding-right:1rem}.max-sm\:py-7{padding-bottom:1.75rem;padding-top:1.75rem}.max-sm\:text-\[0\.55rem\]{font-size:.55rem}}@media (min-width:640px){.sm\:w-1\/2{width:50%}.sm\:w-\[400px\]{width:400px}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:p-8{padding:2rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:text-5xl{font-size:3rem;line-height:1}.sm\:text-lg{font-size:1.125rem;line-height:1.75rem}}@media (min-width:768px){.md\:col-span-1{grid-column:span 1/span 1}.md\:col-span-2{grid-column:span 2/span 2}.md\:-m-4{margin:-1rem}.md\:block{display:block}.md\:hidden{display:none}.md\:w-1\/4{width:25%}.md\:w-auto{width:auto}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:space-x-5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1.25rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1.25rem*var(--tw-space-x-reverse))}.md\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(0px*var(--tw-space-y-reverse));margin-top:calc(0px*(1 - var(--tw-space-y-reverse)))}.md\:p-4{padding:1rem}.md\:p-6{padding:1.5rem}.md\:text-5xl{font-size:3rem;line-height:1}.md\:text-lg{font-size:1.125rem;line-height:1.75rem}}@media (min-width:1024px){.lg\:sticky{position:-webkit-sticky;position:sticky}.lg\:bottom-6{bottom:1.5rem}.lg\:bottom-\[90px\]{bottom:90px}.lg\:right-6{right:1.5rem}.lg\:top-24{top:6rem}.lg\:col-span-1{grid-column:span 1/span 1}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:mx-auto{margin-left:auto;margin-right:auto}.lg\:mt-0{margin-top:0}.lg\:hidden{display:none}.lg\:w-1\/2{width:50%}.lg\:w-1\/3{width:33.333333%}.lg\:w-2\/3{width:66.666667%}.lg\:w-\[30\%\]{width:30%}.lg\:w-\[420px\]{width:420px}.lg\:w-\[45\%\]{width:45%}.lg\:w-full{width:100%}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-\[1\.3fr_0\.7fr\]{grid-template-columns:1.3fr .7fr}.lg\:flex-row{flex-direction:row}.lg\:items-start{align-items:flex-start}.lg\:justify-center{justify-content:center}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:py-6{padding-bottom:1.5rem;padding-top:1.5rem}.lg\:pl-10{padding-left:2.5rem}}.page-shell{background:#03010f;color:#f8fafc;font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,sans-serif;min-height:100vh;overflow-x:hidden;position:relative}.ps-content{margin:0 auto;max-width:1200px;padding:6rem 2rem 2rem;position:relative;z-index:10}.ps-grid{background-image:linear-gradient(hsla(0,0%,100%,.025) 1px,#0000 0),linear-gradient(90deg,hsla(0,0%,100%,.025) 1px,#0000 0);background-size:60px 60px;inset:0}.ps-grid,.ps-orb{pointer-events:none;position:fixed;z-index:0}.ps-orb{border-radius:50%;will-change:transform}.ps-orb-1{animation:ps-orb1 22s ease-in-out infinite;background:radial-gradient(circle at center,#7c3aed88,#4c1d9500);filter:blur(80px);height:800px;left:-250px;top:-250px;width:800px}.ps-orb-2{animation:ps-orb2 28s ease-in-out infinite;background:radial-gradient(circle at center,#0891b288,#164e6300);bottom:-200px;filter:blur(80px);height:700px;right:-200px;width:700px}.ps-orb-3{animation:ps-orb3 20s ease-in-out infinite;background:radial-gradient(circle at center,#be185d66,#83184300);filter:blur(70px);height:500px;right:10%;top:45%;width:500px}.ps-orb-4{animation:ps-orb1 30s ease-in-out infinite reverse;background:radial-gradient(circle at center,#06b6d455,#0000);filter:blur(60px);height:400px;left:5%;top:60%;width:400px}@keyframes ps-orb1{0%,to{transform:translate(0) scale(1)}33%{transform:translate(60px,80px) scale(1.08)}66%{transform:translate(-40px,40px) scale(.95)}}@keyframes ps-orb2{0%,to{transform:translate(0) scale(1)}33%{transform:translate(-80px,-60px) scale(1.05)}66%{transform:translate(40px,-40px) scale(1.12)}}@keyframes ps-orb3{0%,to{transform:translate(0) scale(1)}50%{transform:translate(-60px,70px) scale(1.15)}}@media (prefers-reduced-motion:reduce){.ps-orb{animation:none}}.landing-root{background:#03010f;color:#f8fafc;font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,sans-serif;min-height:100vh;overflow-x:hidden;position:relative}.bg-orb{border-radius:50%;pointer-events:none;position:fixed;transition:transform .15s ease-out;will-change:transform;z-index:0}.bg-orb-1{animation:orb1 22s ease-in-out infinite;background:radial-gradient(circle at center,#7c3aed88,#4c1d9500);filter:blur(80px);height:800px;left:-250px;top:-250px;width:800px}.bg-orb-2{animation:orb2 28s ease-in-out infinite;background:radial-gradient(circle at center,#0891b288,#164e6300);bottom:-200px;filter:blur(80px);height:700px;right:-200px;width:700px}.bg-orb-3{animation:orb3 20s ease-in-out infinite;background:radial-gradient(circle at center,#be185d66,#83184300);filter:blur(70px);height:500px;right:10%;top:45%;width:500px}.bg-orb-4{animation:orb1 30s ease-in-out infinite reverse;background:radial-gradient(circle at center,#06b6d455,#0000);filter:blur(60px);height:400px;left:5%;top:60%;width:400px}@keyframes orb1{0%,to{transform:translate(0) scale(1)}33%{transform:translate(60px,80px) scale(1.08)}66%{transform:translate(-40px,40px) scale(.95)}}@keyframes orb2{0%,to{transform:translate(0) scale(1)}33%{transform:translate(-80px,-60px) scale(1.05)}66%{transform:translate(40px,-40px) scale(1.12)}}@keyframes orb3{0%,to{transform:translate(0) scale(1)}50%{transform:translate(-60px,70px) scale(1.15)}}.grid-overlay{background-image:linear-gradient(hsla(0,0%,100%,.025) 1px,#0000 0),linear-gradient(90deg,hsla(0,0%,100%,.025) 1px,#0000 0);background-size:60px 60px;inset:0;pointer-events:none;position:fixed;z-index:0}.hero-section{align-items:center;display:flex;gap:80px;margin:0 auto;max-width:1400px;min-height:100vh;padding:140px 80px 100px;position:relative;z-index:1}.hero-content{flex:1 1;max-width:640px}.hero-badge{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#7c3aed1f;border:1px solid #7c3aed59;border-radius:100px;color:#a78bfa;display:inline-flex;font-size:12.5px;gap:10px;margin-bottom:36px;padding:7px 14px 7px 10px}.badge-dot{animation:pulse-dot 2.2s ease-in-out infinite;background:#7c3aed;border-radius:50%;box-shadow:0 0 8px #7c3aedaa;flex-shrink:0;height:7px;width:7px}@keyframes pulse-dot{0%,to{box-shadow:0 0 6px #7c3aedaa}50%{box-shadow:0 0 14px #7c3aed}}.badge-link{color:#c4b5fd;font-weight:500;text-decoration:none;transition:color .2s}.badge-link:hover{color:#f8fafc}.hero-title{display:flex;flex-direction:column;font-size:clamp(48px,5.5vw,84px);font-weight:800;letter-spacing:-2.5px;line-height:1.06;margin:0 0 28px}.title-line{color:#f8fafc;display:block}.title-gradient{-webkit-text-fill-color:#0000;animation:grad-flow 5s linear infinite;background:linear-gradient(135deg,#a78bfa,#22d3ee 40%,#f472b6 80%,#a78bfa);-webkit-background-clip:text;background-clip:text;background-size:200% auto}@keyframes grad-flow{0%{background-position:0}to{background-position:200%}}.hero-subtitle{color:#94a3b8;font-size:17px;line-height:1.75;margin:0 0 44px;max-width:500px}.hero-cta-group{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:60px}.hero-cta{align-items:center;border-radius:12px;cursor:pointer;display:inline-flex;font-size:14.5px;font-weight:600;gap:8px;overflow:hidden;padding:13px 26px;position:relative;text-decoration:none;transition:all .25s cubic-bezier(.4,0,.2,1);white-space:nowrap}.cta-primary{background:linear-gradient(135deg,#7c3aed,#0891b2);box-shadow:0 0 0 1px #7c3aed66,0 8px 32px #7c3aed59,inset 0 1px 0 #ffffff26;color:#fff}.cta-primary:hover{background:linear-gradient(135deg,#8b5cf6,#06b6d4);box-shadow:0 0 0 1px #7c3aed80,0 12px 40px #7c3aed80,inset 0 1px 0 #fff3;transform:translateY(-2px)}.cta-primary svg{transition:transform .2s ease}.cta-primary:hover svg{transform:translateX(3px)}.cta-secondary{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #ffffff1a;color:#e2e8f0}.cta-secondary:hover{background:#ffffff17;border-color:#ffffff2e;transform:translateY(-2px)}.cta-outline{background:#0000;border:1px solid #a78bfa4d;color:#a78bfa}.cta-outline:hover{background:#7c3aed1a;border-color:#a78bfa8c;transform:translateY(-2px)}.cta-stars{background:#fbbf241f;border:1px solid #fbbf2447;border-radius:100px;color:#fbbf24;font-size:11px;padding:2px 9px}.stats-row{display:flex;flex-wrap:wrap;gap:14px}.stat-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:hsla(0,0%,100%,.035);border:1px solid #ffffff12;border-radius:16px;cursor:default;flex:1 1;min-width:90px;padding:16px 18px;text-align:center;transition:all .3s cubic-bezier(.4,0,.2,1)}.stat-card:hover{background:hsla(0,0%,100%,.065);border-color:#a78bfa40;box-shadow:0 20px 40px #00000059;transform:translateY(-5px)}.stat-icon{color:#a78bfa;display:flex;justify-content:center;margin-bottom:8px}.stat-value{color:#f8fafc;font-size:22px;font-weight:700;line-height:1}.stat-label{color:#475569;font-size:11.5px;font-weight:500;margin-top:5px}.hero-preview{flex:0 0 auto;position:relative}.preview-glow{background:radial-gradient(circle at 50% 60%,#7c3aed33,#0000 70%);filter:blur(30px);inset:-40px;pointer-events:none;position:absolute;z-index:0}.preview-card{animation:float-card 7s ease-in-out infinite;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#0a081ed9;border:1px solid #ffffff14;border-radius:20px;box-shadow:0 60px 120px #0009,0 0 0 1px #ffffff0a,inset 0 1px 0 #ffffff14;overflow:hidden;position:relative;width:320px;z-index:1}@keyframes float-card{0%,to{transform:translateY(0) rotate(1.5deg)}50%{transform:translateY(-18px) rotate(-.5deg)}}.preview-header{align-items:center;background:#ffffff08;border-bottom:1px solid #ffffff0d;display:flex;gap:10px;padding:12px 16px}.preview-dots{display:flex;gap:6px}.dot{border-radius:50%;height:10px;width:10px}.dot-red{background:#ef4444}.dot-yellow{background:#f59e0b}.dot-green{background:#22c55e}.preview-filename{color:#475569;font-family:Courier New,monospace;font-size:11px}.preview-body{display:flex;flex-direction:column;gap:12px;padding:16px}.mini-glass-card{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:hsla(0,0%,100%,.055);border:1px solid #ffffff17;border-radius:14px;display:flex;gap:12px;overflow:hidden;padding:14px;position:relative}.mini-card-shine{background:radial-gradient(circle,#7c3aed4d,#0000 70%);height:130px;pointer-events:none;position:absolute;right:-40%;top:-60%;width:130px}.mini-avatar{align-items:center;background:linear-gradient(135deg,#7c3aed,#0891b2);border-radius:10px;color:#fff;display:flex;flex-shrink:0;font-size:10px;font-weight:700;height:36px;justify-content:center;width:36px}.mini-card-info{flex:1 1}.mini-line{background:#ffffff1f;border-radius:4px;height:7px;margin-bottom:6px}.line-lg{width:80%}.line-sm{margin-bottom:0;width:50%}.mini-tag{background:#7c3aed33;border:1px solid #7c3aed59;border-radius:100px;color:#a78bfa;font-size:9.5px;font-weight:600;padding:4px 10px;white-space:nowrap}.mini-btn-row{display:flex;gap:8px}.mini-btn-ghost,.mini-btn-outline,.mini-btn-primary{align-items:center;border-radius:9px;display:flex;flex:1 1;font-size:10.5px;font-weight:600;gap:4px;justify-content:center;padding:9px 0;text-align:center}.mini-btn-primary{background:linear-gradient(135deg,#7c3aed,#0891b2);color:#fff}.mini-btn-ghost{background:#ffffff0f;border:1px solid #ffffff17;color:#94a3b8}.mini-btn-outline{background:#0000;border:1px solid #7c3aed59;color:#a78bfa}.mini-input{align-items:center;background:#ffffff0a;border:1px solid #ffffff14;border-radius:9px;display:flex;gap:8px;padding:9px 12px}.mini-input-icon{color:#475569;font-size:13px}.mini-input-placeholder{color:#334155;font-size:10.5px}.mini-progress-label{color:#475569;display:flex;font-size:10px;justify-content:space-between;margin-bottom:5px}.mini-progress-bar{background:#ffffff0f;border-radius:3px;height:5px;overflow:hidden}.mini-progress-fill{animation:prog-pulse 2s ease-in-out infinite;background:linear-gradient(90deg,#7c3aed,#06b6d4);border-radius:3px;height:100%;width:73%}@keyframes prog-pulse{0%,to{opacity:1}50%{opacity:.7}}.programs-section{padding:0 0 20px;position:relative;z-index:1}.programs-inner{margin:0 auto;max-width:1400px;padding:80px 80px 0}.programs-header{margin-bottom:56px;text-align:center}.programs-title{color:#f8fafc;font-size:clamp(28px,3.5vw,46px);font-weight:700;letter-spacing:-1px;margin:0 0 16px}.programs-subtitle{color:#64748b;font-size:16px;line-height:1.7;margin:0 auto;max-width:560px}.programs-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,1fr)}.program-card{background:#ffffff08;border:1px solid #ffffff12;border-radius:22px;cursor:default;display:flex;flex-direction:column;gap:14px;overflow:hidden;padding:32px;position:relative;transition:all .35s cubic-bezier(.4,0,.2,1)}.program-card-glow{inset:0;pointer-events:none;position:absolute;transition:opacity .35s ease}.program-logo-row{align-items:center;display:flex;gap:12px;justify-content:space-between}.program-logo-badge{align-items:center;border-radius:10px;box-shadow:0 4px 16px #0000004d;color:#fff;display:inline-flex;font-size:13px;font-weight:800;gap:8px;letter-spacing:.5px;padding:8px 14px}.program-logo-text{font-size:12px;font-weight:800;letter-spacing:1px}.program-year-tag{border:1px solid;border-radius:100px;font-size:11px;font-weight:700;letter-spacing:.3px;padding:4px 12px;white-space:nowrap}.program-name{color:#f8fafc;font-size:17px;font-weight:700;line-height:1.3;margin:0}.program-year-inline{color:#64748b;font-weight:600}.program-desc{color:#64748b;flex:1 1;font-size:13.5px;line-height:1.65;margin:0}.program-selected-row{margin-top:4px}.program-selected-badge{align-items:center;border:1px solid;border-radius:100px;display:inline-flex;font-size:11.5px;font-weight:700;gap:6px;letter-spacing:.2px;padding:5px 12px}.programs-cta-row{margin-top:40px;padding-bottom:20px;text-align:center}.programs-cta-link{border-bottom:1px dashed #a78bfa66;color:#a78bfa;font-size:14px;font-weight:600;padding-bottom:2px;text-decoration:none;transition:color .2s ease}.programs-cta-link:hover{border-bottom-color:#c4b5fd99;color:#c4b5fd}@media (max-width:1100px){.programs-inner{padding:60px 48px 0}.programs-grid{gap:16px;grid-template-columns:1fr}}@media (max-width:640px){.programs-inner{padding:48px 24px 0}.program-card{padding:24px}}.features-section{margin:0 auto;max-width:1400px;padding:100px 80px;position:relative;z-index:1}.features-header{margin-bottom:64px;text-align:center}.section-label{color:#a78bfa;display:inline-block;font-size:11.5px;font-weight:700;letter-spacing:2.5px;margin-bottom:18px;text-transform:uppercase}.section-title{color:#f8fafc;font-size:clamp(30px,3.5vw,48px);font-weight:700;letter-spacing:-1px;margin:0 0 18px}.section-subtitle{color:#64748b;font-size:16px;line-height:1.7;margin:0 auto;max-width:580px}.features-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.feature-card{background:hsla(0,0%,100%,.025);border:1px solid hsla(0,0%,100%,.065);border-radius:20px;cursor:default;overflow:hidden;padding:32px;position:relative;text-align:left;transition:all .4s cubic-bezier(.4,0,.2,1)}.feature-card:hover{background:#ffffff0d;border-color:#ffffff1f;transform:translateY(-8px)}.feature-icon-bg{align-items:center;border-radius:14px;color:#fff;display:inline-flex;height:52px;justify-content:center;margin-bottom:22px;width:52px}.feature-title{color:#f8fafc;font-size:19px;font-weight:700;margin:0 0 12px}.feature-desc{color:#64748b;font-size:14.5px;line-height:1.65;margin:0}.feature-glow{inset:0;opacity:0;pointer-events:none;position:absolute;transition:opacity .4s ease}.feature-card:hover .feature-glow{opacity:1}.feature-shimmer{background:linear-gradient(90deg,#0000,#ffffff0a,#0000);height:100%;left:-100%;pointer-events:none;position:absolute;top:0;transform:skewX(-20deg);transition:left .6s ease;width:60%}.feature-card:hover .feature-shimmer{left:150%}.marquee-section{background:hsla(0,0%,100%,.018);border-bottom:1px solid #ffffff0d;border-top:1px solid #ffffff0d;margin:0;overflow:hidden;padding:20px 0;position:relative;z-index:1}.marquee-track{animation:marquee-scroll 30s linear infinite;display:flex;gap:0;white-space:nowrap}@keyframes marquee-scroll{0%{transform:translateX(0)}to{transform:translateX(-50%)}}.marquee-item{align-items:center;color:#475569;display:inline-flex;font-size:13.5px;font-weight:600;gap:12px;letter-spacing:.5px;padding:0 32px}.marquee-dot{color:#7c3aed;font-size:8px}.cta-section{margin:80px auto 100px;max-width:1400px;padding:0 80px;position:relative;z-index:1}.cta-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#7c3aed12;border:1px solid #7c3aed2e;border-radius:28px;overflow:hidden;padding:90px 80px;position:relative;text-align:center}.cta-card:before{background:radial-gradient(ellipse at 50% -10%,#7c3aed2e,#0000 65%);content:"";inset:0}.cta-card:before,.cta-orb{pointer-events:none;position:absolute}.cta-orb{border-radius:50%;filter:blur(80px);height:400px;opacity:.15;width:400px}.cta-orb-left{background:#7c3aed;left:-100px;top:-100px}.cta-orb-right{background:#0891b2;bottom:-100px;right:-100px}.cta-inner{position:relative;z-index:1}.cta-title{color:#f8fafc;font-size:clamp(32px,4vw,56px);font-weight:800;letter-spacing:-1.5px;line-height:1.1;margin:16px 0 20px}.cta-subtitle{color:#64748b;font-size:17px;line-height:1.7;margin:0 0 48px}.cta-buttons{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}@keyframes glossy-animation{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.animated-glossy-text{-webkit-text-fill-color:#0000;animation:glossy-animation 10s ease infinite;background:linear-gradient(270deg,#ff6b6b,#feca57,#48dbfb,#ff9ff3,#54a0ff);-webkit-background-clip:text;background-clip:text;background-size:300% 300%;display:inline-block}@media (max-width:1100px){.hero-section{flex-direction:column;gap:60px;padding:130px 48px 80px;text-align:center}.hero-content{max-width:100%}.hero-subtitle{margin-left:auto;margin-right:auto;max-width:100%}.hero-cta-group,.stats-row{justify-content:center}.hero-preview{display:none}.cta-section,.features-section{padding-left:48px;padding-right:48px}}@media (max-width:680px){.hero-section{padding:110px 24px 60px}.hero-title{letter-spacing:-1.5px}.hero-badge{font-size:11px}.features-section{padding:70px 24px}.cta-section{margin-bottom:60px;padding:0 24px}.cta-card{padding:52px 28px}.stat-card{min-width:70px;padding:12px}.hero-cta{font-size:13.5px;padding:11px 20px}.features-grid{grid-template-columns:1fr}}.site-header{border-bottom:1px solid #0000;left:0;padding:18px 0;position:fixed;right:0;top:0;transition:background .35s cubic-bezier(.4,0,.2,1),border-color .35s ease,padding .35s ease,box-shadow .35s ease;z-index:1000}.site-header--scrolled{backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);background:#03010fd1;border-bottom-color:hsla(0,0%,100%,.055);box-shadow:0 4px 40px #00000059;padding:12px 0}.header-inner{gap:32px;justify-content:space-between;margin:0 auto;max-width:1400px;padding:0 80px}.header-inner,.header-logo{align-items:center;display:flex}.header-logo{flex-shrink:0;gap:10px;text-decoration:none}.logo-mark{align-items:center;background:linear-gradient(135deg,#7c3aed,#0891b2);border-radius:9px;box-shadow:0 0 18px #7c3aed73;color:#fff;display:flex;font-size:17px;font-weight:800;height:34px;justify-content:center;transition:box-shadow .25s ease,transform .25s ease;width:34px}.header-logo:hover .logo-mark{box-shadow:0 0 28px #7c3aeda6;transform:scale(1.05) rotate(-3deg)}.logo-wordmark{color:#f8fafc;font-size:17px;font-weight:700;letter-spacing:-.3px}.logo-accent{color:#a78bfa}.header-nav{align-items:center;display:flex;flex:1 1;gap:2px;justify-content:center}.nav-item{border-radius:8px;color:#94a3b8;font-size:13.5px;font-weight:500;padding:7px 14px;position:relative;text-decoration:none;transition:color .2s ease,background .2s ease;white-space:nowrap}.nav-item:hover{background:hsla(0,0%,100%,.055);color:#f8fafc}.nav-item--active{background:#7c3aed1a;color:#f8fafc}.nav-item--active:hover{background:#7c3aed26}.nav-indicator{background:#7c3aed;border-radius:50%;bottom:5px;box-shadow:0 0 7px #7c3aed;height:4px;left:50%;position:absolute;transform:translateX(-50%);width:4px}.header-actions{align-items:center;display:flex;flex-shrink:0;gap:12px}.github-pill{align-items:center;background:hsla(0,0%,100%,.055);border:1px solid #ffffff1a;border-radius:9px;color:#e2e8f0;display:inline-flex;font-size:13px;font-weight:500;gap:7px;padding:7px 14px;text-decoration:none;transition:all .22s ease}.github-pill:hover{background:#ffffff17;border-color:#ffffff2e;box-shadow:0 4px 16px #00000040;transform:translateY(-1px)}.github-star-badge{background:#fbbf241a;border:1px solid #fbbf2440;border-radius:100px;color:#fbbf24;font-size:10.5px;font-weight:600;padding:2px 9px}.hamburger{align-items:center;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:9px;cursor:pointer;display:none;flex-direction:column;gap:5px;height:38px;justify-content:center;padding:0;transition:background .2s ease;width:38px}.hamburger:hover{background:#ffffff1a}.hamburger span{background:#94a3b8;border-radius:2px;display:block;height:2px;transform-origin:center;transition:all .3s cubic-bezier(.4,0,.2,1);width:18px}.hamburger--open span:first-child{transform:translateY(7px) rotate(45deg)}.hamburger--open span:nth-child(2){opacity:0;transform:scaleX(0)}.hamburger--open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-drawer{backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);background:#03010ff2;border-top:1px solid hsla(0,0%,100%,.055);max-height:0;overflow:hidden;transition:max-height .4s cubic-bezier(.4,0,.2,1)}.mobile-drawer--open{max-height:500px}.mobile-nav{display:flex;flex-direction:column;gap:2px;padding:16px 24px 8px}.mobile-nav-item{border-radius:10px;color:#94a3b8;font-size:15px;font-weight:500;padding:12px 14px;text-decoration:none;transition:color .2s ease,background .2s ease}.mobile-nav-item:hover{background:hsla(0,0%,100%,.055);color:#f8fafc}.mobile-nav-item--active{background:#7c3aed1a;color:#a78bfa}.mobile-github-btn{align-items:center;background:hsla(0,0%,100%,.055);border:1px solid #ffffff1a;border-radius:10px;color:#e2e8f0;display:flex;font-size:14px;font-weight:500;gap:8px;margin:8px 24px 24px;padding:12px 18px;text-decoration:none;transition:background .2s ease}.mobile-github-btn:hover{background:#ffffff17}@media (max-width:1100px){.header-inner{padding:0 40px}.header-nav{display:none}.hamburger{display:flex}}@media (max-width:640px){.header-inner{padding:0 20px}}@supports not (((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))) or (-webkit-backdrop-filter:blur(1px))){.mobile-drawer,.site-header--scrolled{background:#03010ff5;border-color:#ffffff1f;box-shadow:0 12px 36px #00000061}}.react-calendar{background:#fff;border:1px solid #a0a096;font-family:Arial,Helvetica,sans-serif;line-height:1.125em;max-width:100%;width:350px}.react-calendar--doubleView{width:700px}.react-calendar--doubleView .react-calendar__viewContainer{display:flex;margin:-.5em}.react-calendar--doubleView .react-calendar__viewContainer>*{margin:.5em;width:50%}.react-calendar,.react-calendar *,.react-calendar :after,.react-calendar :before{box-sizing:border-box}.react-calendar button{border:0;margin:0;outline:none}.react-calendar button:enabled:hover{cursor:pointer}.react-calendar__navigation{display:flex;height:44px;margin-bottom:1em}.react-calendar__navigation button{background:none;min-width:44px}.react-calendar__navigation button:disabled{background-color:#f0f0f0}.react-calendar__navigation button:enabled:focus,.react-calendar__navigation button:enabled:hover{background-color:#e6e6e6}.react-calendar__month-view__weekdays{font:inherit;font-size:.75em;font-weight:700;text-align:center;text-transform:uppercase}.react-calendar__month-view__weekdays__weekday{padding:.5em}.react-calendar__month-view__weekNumbers .react-calendar__tile{align-items:center;display:flex;font:inherit;font-size:.75em;font-weight:700;justify-content:center}.react-calendar__month-view__days__day--weekend{color:#d10000}.react-calendar__century-view__decades__decade--neighboringCentury,.react-calendar__decade-view__years__year--neighboringDecade,.react-calendar__month-view__days__day--neighboringMonth{color:#757575}.react-calendar__century-view .react-calendar__tile,.react-calendar__decade-view .react-calendar__tile,.react-calendar__year-view .react-calendar__tile{padding:2em .5em}.react-calendar__tile{background:none;font:inherit;font-size:.833em;max-width:100%;padding:10px 6.6667px;text-align:center}.react-calendar__tile:disabled{background-color:#f0f0f0;color:#ababab}.react-calendar__century-view__decades__decade--neighboringCentury:disabled,.react-calendar__decade-view__years__year--neighboringDecade:disabled,.react-calendar__month-view__days__day--neighboringMonth:disabled{color:#cdcdcd}.react-calendar__tile:enabled:focus,.react-calendar__tile:enabled:hover{background-color:#e6e6e6}.react-calendar__tile--now{background:#ffff76}.react-calendar__tile--now:enabled:focus,.react-calendar__tile--now:enabled:hover{background:#ffffa9}.react-calendar__tile--hasActive{background:#76baff}.react-calendar__tile--hasActive:enabled:focus,.react-calendar__tile--hasActive:enabled:hover{background:#a9d4ff}.react-calendar__tile--active{background:#006edc;color:#fff}.react-calendar__tile--active:enabled:focus,.react-calendar__tile--active:enabled:hover{background:#1087ff}.react-calendar--selectRange .react-calendar__tile--hover{background-color:#e6e6e6} -/*# sourceMappingURL=main.73cc8df5.css.map*/ \ No newline at end of file diff --git a/build/static/css/main.73cc8df5.css.map b/build/static/css/main.73cc8df5.css.map deleted file mode 100644 index 97faf89..0000000 --- a/build/static/css/main.73cc8df5.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/css/main.73cc8df5.css","mappings":"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CAEA,0BACE,cAGE,QAAS,CAFT,6BAA8B,CAC9B,sBAEF,CACA,eACE,sBACF,CACF,CAEA,yBACE,cAGE,QAAS,CAFT,yBAA0B,CAC1B,sBAEF,CACA,eAGE,sBAAuB,CADvB,qBAAsB,CADtB,sBAGF,CACF,CAEA,0EACE,iBACF,CAEA,yBACE,0EACE,gBACF,CACF,CAGA,QAEE,6BAA8B,CAE9B,iBAAkB,CAElB,UACF,CAGA,mBAPE,kBAAmB,CAFnB,YAAa,CAIb,cAWF,CANA,WAGE,UAAW,CACX,eAEF,CAGA,aAEE,cAAe,CADf,oBAAqB,CAErB,mBACF,CAGA,mBACE,UACF,CAGA,oCACE,QACE,YACF,CAEA,WACE,QACF,CAEA,aACE,gBACF,CACF,CAGA,oCACE,QAEE,kBAAmB,CADnB,qBAAsB,CAEtB,iBACF,CAEA,WAGE,SAAW,CAFX,sBAAuB,CACvB,eAEF,CAEA,aACE,eACF,CACF,CAGA,oCACE,QACE,aACF,CAEA,WACE,qBAAsB,CACtB,UACF,CAEA,aAEE,aAAc,CACd,eAAiB,CAFjB,UAGF,CACF,CAEA,4HAGE,gBACE,oBAAkC,CAClC,kBAAsC,CACtC,gCACF,CAEA,8BAEE,oBAAqC,CACrC,sBAAuC,CACvC,gCACF,CAEA,kCAEE,oBAAkC,CAClC,sBAAuC,CACvC,gCACF,CACF,CAMA,iBACE,gBAAiB,CACjB,kBACF,CAkBA,kcACE,uBACF,CAEA,gCACE,uBACF,CAEA,gCACE,uBACF,CAaA,yGATE,sFAkBF,CATA,+BAQE,uBACF,CAEA,sFAGE,4BAA8B,CAC9B,uBACF,CAEA,qCACE,iOAoBc,CACd,uBACF,CAEA,iCACE,yCAAyD,CACzD,uBACF,CAEA,4CACE,wIAUF,CAGA,8DACE,uBACF,CACA,gCACE,uBACF,CACA,4BACE,8BAA+C,CAC/C,gCACF,CACA,6BACE,uBACF,CACA,6BACE,uBACF,CACA,+BACE,8BAA+C,CAC/C,gCACF,CACA,gCACE,uBACF,CACA,+BACE,uBACF,CACA,iCACE,uBACF,CACA,oCACE,uBACF,CACA,+BACE,8BAA+C,CAC/C,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","sources":["index.css","components/PageShell.css","components/GlassyUILandingPage.css","components/Header.css","../node_modules/react-calendar/dist/Calendar.css"],"sourcesContent":[":root {\r\n --glass-blur: 16px;\r\n --glass-bg-opacity: 0.2;\r\n --glass-border-opacity: 0.15;\r\n --glass-bg-rgb: 15, 23, 42;\r\n --glass-border-rgb: 255, 255, 255;\r\n --app-bg: #03010f;\r\n --app-text: #f8fafc;\r\n}\r\n\r\n@tailwind base;\r\n@tailwind components;\r\n@tailwind utilities;\r\n\r\n/*body {\r\n margin: 0;\r\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',\r\n 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',\r\n sans-serif;\r\n -webkit-font-smoothing: antialiased;\r\n -moz-osx-font-smoothing: grayscale;\r\n}*/\r\n\r\n/* General styles */\r\nbody {\r\n margin: 0;\r\n padding: 0;\r\n font-family:\r\n -apple-system, BlinkMacSystemFont, 'Inter', 'Segoe UI', 'Roboto', 'Oxygen',\r\n 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',\r\n sans-serif;\r\n background: var(--app-bg, #03010f) !important;\r\n color: var(--app-text, #f8fafc);\r\n transition: background 0.4s ease-in-out, color 0.4s ease-in-out;\r\n -webkit-font-smoothing: antialiased;\r\n -moz-osx-font-smoothing: grayscale;\r\n}\r\n\r\n.adaptive-app-shell {\r\n position: relative;\r\n min-height: 100vh;\r\n background:\r\n radial-gradient(\r\n circle at 20% 12%,\r\n var(--adaptive-accent, rgba(124, 58, 237, 0.28)),\r\n transparent 18%\r\n ),\r\n radial-gradient(\r\n circle at 85% 15%,\r\n rgba(14, 165, 233, 0.16),\r\n transparent 18%\r\n ),\r\n radial-gradient(\r\n circle at 50% 78%,\r\n rgba(59, 130, 246, 0.14),\r\n transparent 28%\r\n ),\r\n linear-gradient(\r\n 180deg,\r\n rgba(8, 10, 45, 0.96),\r\n var(--adaptive-base-tint, rgba(3, 1, 15, 0.92))\r\n );\r\n color: var(--adaptive-text-color, #f8fafc);\r\n isolation: isolate;\r\n overflow: hidden;\r\n}\r\n\r\n.adaptive-app-shell::before {\r\n content: '';\r\n position: absolute;\r\n inset: 0;\r\n pointer-events: none;\r\n background:\r\n radial-gradient(\r\n circle at top left,\r\n var(--adaptive-accent, rgba(124, 58, 237, 0.32)),\r\n transparent 24%\r\n ),\r\n radial-gradient(\r\n circle at bottom right,\r\n rgba(14, 165, 233, 0.28),\r\n transparent 20%\r\n );\r\n opacity: 0.82;\r\n filter: blur(46px);\r\n mix-blend-mode: screen;\r\n}\r\n\r\n.adaptive-app-shell::after {\r\n content: '';\r\n position: absolute;\r\n inset: 0;\r\n pointer-events: none;\r\n background: radial-gradient(\r\n circle at center,\r\n rgba(255, 255, 255, 0.05),\r\n transparent 38%\r\n );\r\n opacity: 0.72;\r\n mix-blend-mode: overlay;\r\n}\r\n\r\n.adaptive-sampler {\r\n position: fixed;\r\n top: 0;\r\n left: 0;\r\n width: 100vw;\r\n height: 100vh;\r\n opacity: 0;\r\n pointer-events: none;\r\n z-index: -1;\r\n}\r\n\r\n.adaptive-glass {\r\n background: rgba(var(--glass-bg-rgb), var(--glass-bg-opacity)) !important;\r\n backdrop-filter: blur(var(--glass-blur)) !important;\r\n -webkit-backdrop-filter: blur(var(--glass-blur)) !important;\r\n border: 1px solid\r\n rgba(var(--glass-border-rgb), var(--glass-border-opacity)) !important;\r\n box-shadow: 0 0 var(--adaptive-shadow, 30px)\r\n rgba(124, 58, 237, calc(0.18 + var(--adaptive-glow, 0.08)));\r\n color: var(--adaptive-text-color, #f8fafc);\r\n transition:\r\n background 0.35s ease,\r\n border-color 0.35s ease,\r\n box-shadow 0.35s ease;\r\n}\r\n\r\n.page-shell {\r\n position: relative;\r\n z-index: 1;\r\n margin: 0 auto;\r\n padding-top: 28px;\r\n padding-bottom: 48px;\r\n}\r\n\r\n.adaptive-app-shell > .page-shell {\r\n position: relative;\r\n z-index: 1;\r\n}\r\n\r\n.adaptive-app-shell > footer {\r\n position: relative;\r\n z-index: 1;\r\n}\r\n\r\n/* Enhanced Background */\r\n.enhanced-bg {\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n overflow: hidden;\r\n z-index: 0;\r\n background: radial-gradient(\r\n circle at center,\r\n #1b2735,\r\n #12122a,\r\n #2a2962,\r\n #4b2f6e\r\n );\r\n opacity: 0.95;\r\n}\r\n\r\n/* Light Theme Background */\r\nbody.light-theme .enhanced-bg {\r\n background: radial-gradient(\r\n circle at center,\r\n #f2f6ff,\r\n #dde7f0,\r\n #bcd0e0,\r\n #93b3cc\r\n );\r\n}\r\n\r\n/* Floating Emojis */\r\n.coding-symbol {\r\n position: absolute;\r\n width: 100px;\r\n height: 100px;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n font-size: 3rem;\r\n border-radius: 50%;\r\n opacity: 0.8;\r\n animation: float 10s ease-in-out infinite;\r\n}\r\n\r\n/* Floating Animation */\r\n@keyframes float {\r\n 0% {\r\n transform: translateY(0) rotate(0);\r\n }\r\n\r\n 50% {\r\n transform: translateY(-20px) rotate(10deg);\r\n }\r\n\r\n 100% {\r\n transform: translateY(0) rotate(0);\r\n }\r\n}\r\n\r\n/* Theme Toggle Button */\r\n#theme-toggle {\r\n position: fixed;\r\n bottom: 10px;\r\n right: 10px;\r\n background: #fff;\r\n color: #333;\r\n padding: 10px 20px;\r\n border-radius: 10px;\r\n border: none;\r\n cursor: pointer;\r\n font-size: 1rem;\r\n}\r\n\r\n/* Dark Theme Adjustments */\r\nbody.light-theme .glassy-ui {\r\n color: #333;\r\n background: rgba(255, 255, 255, 0.6);\r\n box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);\r\n}\r\n\r\nbody.light-theme #theme-toggle {\r\n background: #333;\r\n color: #fff;\r\n}\r\n\r\ncode {\r\n font-family:\r\n source-code-pro, Menlo, Monaco, Consolas, 'Courier New', monospace;\r\n}\r\n\r\n::-webkit-scrollbar {\r\n width: 6px;\r\n}\r\n\r\n::-webkit-scrollbar-track {\r\n background: rgba(3, 1, 15, 0.8);\r\n}\r\n\r\n::-webkit-scrollbar-thumb {\r\n background: rgba(124, 58, 237, 0.4);\r\n border-radius: 6px;\r\n transition: background 0.3s ease;\r\n}\r\n\r\n::-webkit-scrollbar-thumb:hover {\r\n background: rgba(124, 58, 237, 0.7);\r\n}\r\n\r\n.glassmorphism {\r\n background: rgba(var(--glass-bg-rgb), var(--glass-bg-opacity));\r\n backdrop-filter: blur(var(--glass-blur));\r\n -webkit-backdrop-filter: blur(var(--glass-blur));\r\n border: 1px solid rgba(var(--glass-border-rgb), var(--glass-border-opacity));\r\n box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.37);\r\n}\r\n\r\n/* Fade In Effect */\r\n@keyframes fade {\r\n from {\r\n transform: translateY(50px);\r\n opacity: 0;\r\n }\r\n}\r\n\r\n.fade-in {\r\n animation: fade 350ms ease-out;\r\n}\r\n\r\n/* Toast Animations */\r\n.toast {\r\n animation: toast-start cubic-bezier(0.18, 0.89, 0.32, 1.28) 800ms forwards;\r\n opacity: 1;\r\n overflow: hidden;\r\n max-height: 400px;\r\n opacity: 1;\r\n transform: translateX(0);\r\n}\r\n\r\n.hide-toast {\r\n animation: toast-end cubic-bezier(0.18, 0.89, 0.32, 1.28) 600ms forwards;\r\n}\r\n\r\n@keyframes toast-start {\r\n from {\r\n opacity: 0;\r\n transform: translateX(100px);\r\n max-height: 0;\r\n }\r\n\r\n to {\r\n opacity: 1;\r\n transform: translateX(0);\r\n max-height: 350px;\r\n }\r\n}\r\n\r\n@keyframes toast-end {\r\n 50% {\r\n opacity: 0;\r\n transform: translateX(100px);\r\n }\r\n\r\n 51% {\r\n opacity: 0;\r\n transform: translateX(100px);\r\n }\r\n\r\n 100% {\r\n opacity: 0;\r\n transform: translateX(100px);\r\n max-height: 0;\r\n padding: 0;\r\n }\r\n}\r\n\r\n@keyframes shine {\r\n 0% {\r\n transform: translateX(-100%) translateY(-100%) rotate(45deg);\r\n }\r\n\r\n 100% {\r\n transform: translateX(100%) translateY(100%) rotate(45deg);\r\n }\r\n}\r\n\r\n.shine-effect::before {\r\n content: '';\r\n position: absolute;\r\n top: -50%;\r\n left: -50%;\r\n width: 200%;\r\n height: 200%;\r\n background: linear-gradient(\r\n to bottom right,\r\n rgba(255, 255, 255, 0) 0%,\r\n rgba(255, 255, 255, 0.1) 50%,\r\n rgba(255, 255, 255, 0) 100%\r\n );\r\n transform: rotate(45deg);\r\n animation: shine 1.5s infinite;\r\n pointer-events: none;\r\n opacity: 0;\r\n transition: opacity 0.3s ease;\r\n}\r\n\r\n.shine-effect:hover::before {\r\n opacity: 1;\r\n}\r\n\r\n.frosted-glass {\r\n background: rgba(var(--glass-bg-rgb), var(--glass-bg-opacity));\r\n backdrop-filter: blur(var(--glass-blur));\r\n -webkit-backdrop-filter: blur(var(--glass-blur));\r\n border: 1px solid rgba(var(--glass-border-rgb), var(--glass-border-opacity));\r\n box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.37);\r\n}\r\n\r\n.frosted-glass:hover {\r\n background: rgba(var(--glass-bg-rgb), calc(var(--glass-bg-opacity) + 0.05));\r\n box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.45);\r\n}\r\n\r\n@keyframes float {\r\n 0%,\r\n 100% {\r\n transform: translateY(0);\r\n }\r\n\r\n 50% {\r\n transform: translateY(-20px);\r\n }\r\n}\r\n\r\n@keyframes float-slow {\r\n 0%,\r\n 100% {\r\n transform: translateY(0);\r\n }\r\n\r\n 50% {\r\n transform: translateY(-10px);\r\n }\r\n}\r\n\r\n.animate-float {\r\n animation: float 6s ease-in-out infinite;\r\n}\r\n\r\n.animate-float-slow {\r\n animation: float-slow 8s ease-in-out infinite;\r\n}\r\n\r\n/* ── COMPONENTS PAGE ─────────────────────────────────── */\r\n.cp-root {\r\n min-height: 100vh;\r\n background: #03010f;\r\n color: #f8fafc;\r\n position: relative;\r\n overflow-x: hidden;\r\n font-family:\r\n -apple-system, BlinkMacSystemFont, 'Inter', 'Segoe UI', sans-serif;\r\n}\r\n\r\n.cp-orb {\r\n position: fixed;\r\n border-radius: 50%;\r\n pointer-events: none;\r\n z-index: 0;\r\n}\r\n\r\n.cp-orb-1 {\r\n width: 700px;\r\n height: 700px;\r\n background: radial-gradient(\r\n circle,\r\n rgba(124, 58, 237, 0.18),\r\n transparent 70%\r\n );\r\n filter: blur(80px);\r\n top: -200px;\r\n left: -200px;\r\n animation: orb1 22s ease-in-out infinite;\r\n}\r\n\r\n.cp-orb-2 {\r\n width: 500px;\r\n height: 500px;\r\n background: radial-gradient(circle, rgba(8, 145, 178, 0.14), transparent 70%);\r\n filter: blur(70px);\r\n bottom: 0;\r\n right: -100px;\r\n animation: orb2 28s ease-in-out infinite;\r\n}\r\n\r\n.cp-grid {\r\n position: fixed;\r\n inset: 0;\r\n z-index: 0;\r\n pointer-events: none;\r\n background-image:\r\n linear-gradient(rgba(255, 255, 255, 0.022) 1px, transparent 1px),\r\n linear-gradient(90deg, rgba(255, 255, 255, 0.022) 1px, transparent 1px);\r\n background-size: 60px 60px;\r\n}\r\n\r\n.cp-container {\r\n position: relative;\r\n z-index: 1;\r\n max-width: 1400px;\r\n margin: 0 auto;\r\n padding: 130px 80px 80px;\r\n}\r\n\r\n.cp-hero {\r\n text-align: center;\r\n margin-bottom: 64px;\r\n}\r\n\r\n.cp-badge {\r\n display: inline-flex;\r\n align-items: center;\r\n gap: 8px;\r\n padding: 6px 14px;\r\n background: rgba(124, 58, 237, 0.12);\r\n border: 1px solid rgba(124, 58, 237, 0.3);\r\n border-radius: 100px;\r\n font-size: 12px;\r\n font-weight: 600;\r\n color: #a78bfa;\r\n margin-bottom: 24px;\r\n}\r\n\r\n.cp-badge-dot {\r\n width: 6px;\r\n height: 6px;\r\n border-radius: 50%;\r\n background: #7c3aed;\r\n box-shadow: 0 0 8px #7c3aed;\r\n animation: pulse-dot 2s ease-in-out infinite;\r\n}\r\n\r\n.cp-title {\r\n font-size: clamp(36px, 5vw, 72px);\r\n font-weight: 800;\r\n letter-spacing: -2px;\r\n margin: 0 0 20px;\r\n background: linear-gradient(135deg, #f8fafc 30%, #a78bfa 70%, #22d3ee 100%);\r\n -webkit-background-clip: text;\r\n -webkit-text-fill-color: transparent;\r\n background-clip: text;\r\n}\r\n\r\n.cp-subtitle {\r\n font-size: 17px;\r\n color: #64748b;\r\n line-height: 1.7;\r\n max-width: 560px;\r\n margin: 0 auto 36px;\r\n}\r\n\r\n.cp-search-wrap {\r\n position: relative;\r\n max-width: 480px;\r\n margin: 0 auto;\r\n}\r\n\r\n.cp-search-icon {\r\n position: absolute;\r\n left: 16px;\r\n top: 50%;\r\n transform: translateY(-50%);\r\n color: #475569;\r\n pointer-events: none;\r\n}\r\n\r\n.cp-search {\r\n width: 100%;\r\n padding: 13px 44px 13px 44px;\r\n background: rgba(255, 255, 255, 0.05);\r\n border: 1px solid rgba(255, 255, 255, 0.1);\r\n border-radius: 12px;\r\n font-size: 14.5px;\r\n color: #f8fafc;\r\n outline: none;\r\n transition:\r\n border-color 0.2s ease,\r\n background 0.2s ease;\r\n box-sizing: border-box;\r\n}\r\n\r\n.cp-search::placeholder {\r\n color: #334155;\r\n}\r\n\r\n.cp-search:focus {\r\n border-color: rgba(124, 58, 237, 0.5);\r\n background: rgba(255, 255, 255, 0.07);\r\n}\r\n\r\n.cp-search-clear {\r\n position: absolute;\r\n right: 14px;\r\n top: 50%;\r\n transform: translateY(-50%);\r\n background: none;\r\n border: none;\r\n color: #475569;\r\n font-size: 13px;\r\n cursor: pointer;\r\n padding: 4px;\r\n transition: color 0.2s;\r\n}\r\n.cp-search-clear:hover {\r\n color: #94a3b8;\r\n}\r\n\r\n.cp-search-result-count {\r\n font-size: 0.78rem;\r\n color: rgba(255, 255, 255, 0.45);\r\n margin-top: 0.5rem;\r\n text-align: center;\r\n letter-spacing: 0.01em;\r\n}\r\n\r\n/* Grid */\r\n.cp-grid-layout {\r\n display: grid;\r\n grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));\r\n gap: 18px;\r\n}\r\n\r\n/* Card */\r\n.cp-card {\r\n position: relative;\r\n padding: 28px;\r\n background: rgba(var(--glass-bg-rgb), var(--glass-bg-opacity));\r\n border: 1px solid rgba(var(--glass-border-rgb), var(--glass-border-opacity));\r\n backdrop-filter: blur(var(--glass-blur));\r\n -webkit-backdrop-filter: blur(var(--glass-blur));\r\n border-radius: 20px;\r\n cursor: pointer;\r\n overflow: hidden;\r\n transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\r\n display: flex;\r\n flex-direction: column;\r\n gap: 12px;\r\n}\r\n\r\n.cp-card-shimmer {\r\n position: absolute;\r\n top: 0;\r\n left: -100%;\r\n width: 60%;\r\n height: 100%;\r\n background: linear-gradient(\r\n 90deg,\r\n transparent,\r\n rgba(255, 255, 255, 0.04),\r\n transparent\r\n );\r\n transform: skewX(-20deg);\r\n transition: left 0.6s ease;\r\n pointer-events: none;\r\n}\r\n.cp-card:hover .cp-card-shimmer {\r\n left: 150%;\r\n}\r\n\r\n.cp-card-icon {\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: 44px;\r\n height: 44px;\r\n background: rgba(124, 58, 237, 0.15);\r\n border: 1px solid rgba(124, 58, 237, 0.25);\r\n border-radius: 12px;\r\n color: #a78bfa;\r\n}\r\n\r\n.cp-card-title {\r\n font-size: 17px;\r\n font-weight: 700;\r\n color: #f8fafc;\r\n margin: 0;\r\n}\r\n\r\n.cp-card-desc {\r\n font-size: 13.5px;\r\n line-height: 1.65;\r\n color: #64748b;\r\n margin: 0;\r\n flex: 1;\r\n}\r\n\r\n.cp-card-footer {\r\n display: flex;\r\n align-items: center;\r\n gap: 6px;\r\n font-size: 13px;\r\n font-weight: 600;\r\n color: #a78bfa;\r\n margin-top: 4px;\r\n}\r\n\r\n.cp-card-arrow {\r\n transition: transform 0.2s ease;\r\n}\r\n.cp-card-arrow--active {\r\n transform: translateX(4px);\r\n}\r\n\r\n/* Empty state */\r\n.cp-empty {\r\n text-align: center;\r\n padding: 80px 24px;\r\n}\r\n.cp-empty-icon {\r\n font-size: 48px;\r\n color: #1e293b;\r\n margin-bottom: 20px;\r\n}\r\n.cp-empty-title {\r\n font-size: 22px;\r\n font-weight: 700;\r\n color: #334155;\r\n margin: 0 0 8px;\r\n}\r\n.cp-empty-desc {\r\n color: #475569;\r\n margin: 0 0 24px;\r\n}\r\n.cp-empty-btn {\r\n padding: 10px 24px;\r\n background: rgba(124, 58, 237, 0.15);\r\n border: 1px solid rgba(124, 58, 237, 0.3);\r\n border-radius: 10px;\r\n color: #a78bfa;\r\n font-size: 14px;\r\n font-weight: 600;\r\n cursor: pointer;\r\n transition: background 0.2s ease;\r\n}\r\n.cp-empty-btn:hover {\r\n background: rgba(124, 58, 237, 0.25);\r\n}\r\n\r\n/* Pagination */\r\n.cp-pagination {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n gap: 12px;\r\n margin-top: 52px;\r\n}\r\n.cp-page-btn {\r\n padding: 9px 20px;\r\n background: rgba(255, 255, 255, 0.05);\r\n border: 1px solid rgba(255, 255, 255, 0.09);\r\n border-radius: 10px;\r\n color: #94a3b8;\r\n font-size: 13.5px;\r\n font-weight: 600;\r\n cursor: pointer;\r\n transition: all 0.2s ease;\r\n}\r\n.cp-page-btn:hover:not(:disabled) {\r\n background: rgba(124, 58, 237, 0.15);\r\n border-color: rgba(124, 58, 237, 0.3);\r\n color: #a78bfa;\r\n}\r\n.cp-page-btn:disabled {\r\n opacity: 0.35;\r\n cursor: not-allowed;\r\n}\r\n.cp-page-nums {\r\n display: flex;\r\n gap: 6px;\r\n}\r\n.cp-page-num {\r\n width: 36px;\r\n height: 36px;\r\n background: rgba(255, 255, 255, 0.04);\r\n border: 1px solid rgba(255, 255, 255, 0.07);\r\n border-radius: 8px;\r\n color: #64748b;\r\n font-size: 13px;\r\n font-weight: 600;\r\n cursor: pointer;\r\n transition: all 0.2s ease;\r\n}\r\n.cp-page-num:hover {\r\n color: #f8fafc;\r\n background: rgba(255, 255, 255, 0.08);\r\n}\r\n.cp-page-num--active {\r\n background: rgba(124, 58, 237, 0.2);\r\n border-color: rgba(124, 58, 237, 0.4);\r\n color: #a78bfa;\r\n}\r\n\r\n@media (max-width: 1100px) {\r\n .cp-container {\r\n padding: 120px 40px 60px;\r\n }\r\n}\r\n@media (max-width: 640px) {\r\n .cp-container {\r\n padding: 110px 20px 50px;\r\n }\r\n .cp-grid-layout {\r\n grid-template-columns: 1fr;\r\n }\r\n .cp-page-nums {\r\n display: none;\r\n }\r\n}\r\n\r\n/* ── ABOUT PAGE ───────────────────────────────────────── */\r\n.about-root {\r\n min-height: 100vh;\r\n background: #03010f;\r\n color: #f8fafc;\r\n position: relative;\r\n overflow-x: hidden;\r\n font-family:\r\n -apple-system, BlinkMacSystemFont, 'Inter', 'Segoe UI', sans-serif;\r\n padding: 130px 24px 80px;\r\n}\r\n\r\n.about-orb-1 {\r\n position: fixed;\r\n border-radius: 50%;\r\n pointer-events: none;\r\n z-index: 0;\r\n width: 600px;\r\n height: 600px;\r\n background: radial-gradient(\r\n circle,\r\n rgba(124, 58, 237, 0.15),\r\n transparent 70%\r\n );\r\n filter: blur(80px);\r\n top: -150px;\r\n left: -150px;\r\n animation: orb1 22s ease-in-out infinite;\r\n}\r\n.about-orb-2 {\r\n position: fixed;\r\n border-radius: 50%;\r\n pointer-events: none;\r\n z-index: 0;\r\n width: 400px;\r\n height: 400px;\r\n background: radial-gradient(circle, rgba(8, 145, 178, 0.12), transparent 70%);\r\n filter: blur(70px);\r\n bottom: 0;\r\n right: 0;\r\n animation: orb2 28s ease-in-out infinite;\r\n}\r\n\r\n.about-inner {\r\n position: relative;\r\n z-index: 1;\r\n max-width: 800px;\r\n margin: 0 auto;\r\n}\r\n\r\n.about-header {\r\n text-align: center;\r\n margin-bottom: 60px;\r\n}\r\n\r\n.about-title {\r\n font-size: clamp(40px, 5vw, 72px);\r\n font-weight: 800;\r\n letter-spacing: -2px;\r\n margin: 16px 0 20px;\r\n background: linear-gradient(135deg, #a78bfa, #22d3ee, #f472b6);\r\n background-size: 200% auto;\r\n -webkit-background-clip: text;\r\n -webkit-text-fill-color: transparent;\r\n background-clip: text;\r\n animation: grad-flow 5s linear infinite;\r\n}\r\n\r\n.about-lead {\r\n font-size: 18px;\r\n color: #64748b;\r\n line-height: 1.7;\r\n margin: 0;\r\n}\r\n\r\n.about-section {\r\n margin-bottom: 32px;\r\n}\r\n\r\n.about-card {\r\n background: rgba(255, 255, 255, 0.03);\r\n border: 1px solid rgba(255, 255, 255, 0.07);\r\n border-radius: 20px;\r\n padding: 32px;\r\n transition: all 0.3s ease;\r\n}\r\n.about-card:hover {\r\n background: rgba(255, 255, 255, 0.055);\r\n border-color: rgba(124, 58, 237, 0.2);\r\n transform: translateY(-3px);\r\n}\r\n\r\n.about-section-title {\r\n font-size: 13px;\r\n font-weight: 700;\r\n text-transform: uppercase;\r\n letter-spacing: 2px;\r\n color: #a78bfa;\r\n margin: 0 0 16px;\r\n}\r\n\r\n.about-text {\r\n font-size: 15px;\r\n line-height: 1.75;\r\n color: #94a3b8;\r\n margin: 0;\r\n}\r\n\r\n.about-who-grid {\r\n display: grid;\r\n grid-template-columns: repeat(3, 1fr);\r\n gap: 16px;\r\n}\r\n\r\n.about-who-card {\r\n background: rgba(255, 255, 255, 0.03);\r\n border: 1px solid rgba(255, 255, 255, 0.07);\r\n border-radius: 16px;\r\n padding: 24px;\r\n transition: all 0.3s ease;\r\n}\r\n.about-who-card:hover {\r\n background: rgba(255, 255, 255, 0.055);\r\n border-color: rgba(124, 58, 237, 0.2);\r\n transform: translateY(-3px);\r\n}\r\n\r\n.about-who-icon {\r\n font-size: 24px;\r\n margin-bottom: 12px;\r\n}\r\n\r\n.about-who-title {\r\n font-size: 15px;\r\n font-weight: 700;\r\n color: #f8fafc;\r\n margin: 0 0 8px;\r\n}\r\n\r\n.about-who-desc {\r\n font-size: 13.5px;\r\n line-height: 1.6;\r\n color: #64748b;\r\n margin: 0;\r\n}\r\n\r\n.about-footer {\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n gap: 20px;\r\n margin-top: 48px;\r\n text-align: center;\r\n}\r\n\r\n.about-github-btn {\r\n display: inline-flex;\r\n align-items: center;\r\n gap: 10px;\r\n padding: 12px 28px;\r\n background: rgba(255, 255, 255, 0.05);\r\n border: 1px solid rgba(255, 255, 255, 0.1);\r\n border-radius: 12px;\r\n font-size: 14.5px;\r\n font-weight: 600;\r\n color: #e2e8f0;\r\n text-decoration: none;\r\n transition: all 0.2s ease;\r\n}\r\n.about-github-btn:hover {\r\n background: rgba(124, 58, 237, 0.15);\r\n border-color: rgba(124, 58, 237, 0.35);\r\n transform: translateY(-2px);\r\n}\r\n\r\n@media (max-width: 640px) {\r\n .about-who-grid {\r\n grid-template-columns: 1fr;\r\n }\r\n .about-card,\r\n .about-who-card {\r\n padding: 20px;\r\n }\r\n}\r\n\r\n.about-programs-grid {\r\n display: grid;\r\n grid-template-columns: repeat(2, 1fr);\r\n gap: 16px;\r\n}\r\n\r\n.about-program-card {\r\n position: relative;\r\n padding: 28px;\r\n background: rgba(255, 255, 255, 0.03);\r\n border: 1px solid rgba(255, 255, 255, 0.07);\r\n border-radius: 18px;\r\n overflow: hidden;\r\n display: flex;\r\n flex-direction: column;\r\n gap: 12px;\r\n transition: all 0.3s ease;\r\n}\r\n\r\n.about-program-card:hover {\r\n background: rgba(255, 255, 255, 0.05);\r\n transform: translateY(-4px);\r\n box-shadow: 0 20px 40px rgba(0, 0, 0, 0.35);\r\n}\r\n\r\n.about-program-glow {\r\n position: absolute;\r\n inset: 0;\r\n pointer-events: none;\r\n}\r\n\r\n.about-program-top {\r\n display: flex;\r\n align-items: center;\r\n justify-content: space-between;\r\n gap: 12px;\r\n position: relative;\r\n}\r\n\r\n.about-program-logo {\r\n display: inline-flex;\r\n align-items: center;\r\n padding: 6px 14px;\r\n border-radius: 8px;\r\n font-size: 12px;\r\n font-weight: 800;\r\n letter-spacing: 1px;\r\n color: white;\r\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);\r\n}\r\n\r\n.about-program-years {\r\n display: flex;\r\n gap: 6px;\r\n flex-wrap: wrap;\r\n justify-content: flex-end;\r\n}\r\n\r\n.about-program-year {\r\n font-size: 11px;\r\n font-weight: 700;\r\n padding: 3px 10px;\r\n border-radius: 100px;\r\n border: 1px solid;\r\n}\r\n\r\n.about-program-name {\r\n font-size: 16px;\r\n font-weight: 700;\r\n color: #f8fafc;\r\n margin: 0;\r\n position: relative;\r\n}\r\n\r\n.about-program-desc {\r\n font-size: 13.5px;\r\n line-height: 1.65;\r\n color: #64748b;\r\n margin: 0;\r\n flex: 1;\r\n position: relative;\r\n}\r\n\r\n.about-program-badge {\r\n display: inline-flex;\r\n align-items: center;\r\n gap: 5px;\r\n font-size: 11.5px;\r\n font-weight: 700;\r\n padding: 4px 12px;\r\n border-radius: 100px;\r\n border: 1px solid;\r\n width: fit-content;\r\n position: relative;\r\n}\r\n\r\n@media (max-width: 640px) {\r\n .about-programs-grid {\r\n grid-template-columns: 1fr;\r\n }\r\n .about-program-card {\r\n padding: 20px;\r\n }\r\n}\r\n\r\n/* ── CONTRIBUTORS PAGE ────────────────────────────────── */\r\n.contrib-root {\r\n min-height: 100vh;\r\n background: #03010f;\r\n color: #f8fafc;\r\n font-family:\r\n -apple-system, BlinkMacSystemFont, 'Inter', 'Segoe UI', sans-serif;\r\n position: relative;\r\n overflow-x: hidden;\r\n}\r\n\r\n.contrib-orb-1 {\r\n position: fixed;\r\n border-radius: 50%;\r\n pointer-events: none;\r\n z-index: 0;\r\n width: 700px;\r\n height: 700px;\r\n background: radial-gradient(\r\n circle,\r\n rgba(124, 58, 237, 0.15),\r\n transparent 70%\r\n );\r\n filter: blur(80px);\r\n top: -200px;\r\n left: -200px;\r\n animation: orb1 22s ease-in-out infinite;\r\n}\r\n.contrib-orb-2 {\r\n position: fixed;\r\n border-radius: 50%;\r\n pointer-events: none;\r\n z-index: 0;\r\n width: 500px;\r\n height: 500px;\r\n background: radial-gradient(circle, rgba(8, 145, 178, 0.12), transparent 70%);\r\n filter: blur(70px);\r\n bottom: -100px;\r\n right: -100px;\r\n animation: orb2 28s ease-in-out infinite;\r\n}\r\n\r\n.contrib-hero {\r\n position: relative;\r\n z-index: 1;\r\n text-align: center;\r\n padding: 160px 24px 80px;\r\n}\r\n\r\n.contrib-hero-title {\r\n font-size: clamp(40px, 5vw, 72px);\r\n font-weight: 800;\r\n letter-spacing: -2px;\r\n margin: 0 0 20px;\r\n background: linear-gradient(135deg, #f8fafc 30%, #a78bfa 65%, #22d3ee 100%);\r\n -webkit-background-clip: text;\r\n -webkit-text-fill-color: transparent;\r\n background-clip: text;\r\n}\r\n\r\n.contrib-hero-sub {\r\n font-size: 18px;\r\n color: #64748b;\r\n line-height: 1.7;\r\n max-width: 520px;\r\n margin: 0 auto;\r\n}\r\n\r\n.contrib-stats {\r\n position: relative;\r\n z-index: 1;\r\n display: grid;\r\n grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\r\n gap: 16px;\r\n max-width: 1200px;\r\n margin: 0 auto;\r\n padding: 0 80px 64px;\r\n}\r\n\r\n.contrib-stat-card {\r\n display: flex;\r\n align-items: center;\r\n gap: 16px;\r\n padding: 24px;\r\n background: rgba(255, 255, 255, 0.03);\r\n border: 1px solid rgba(255, 255, 255, 0.07);\r\n border-radius: 16px;\r\n backdrop-filter: blur(10px);\r\n transition: all 0.3s ease;\r\n}\r\n.contrib-stat-card:hover {\r\n background: rgba(255, 255, 255, 0.055);\r\n border-color: rgba(124, 58, 237, 0.2);\r\n transform: translateY(-4px);\r\n}\r\n\r\n.contrib-stat-icon {\r\n width: 48px;\r\n height: 48px;\r\n background: rgba(124, 58, 237, 0.15);\r\n border: 1px solid rgba(124, 58, 237, 0.25);\r\n border-radius: 12px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n color: #a78bfa;\r\n flex-shrink: 0;\r\n}\r\n\r\n.contrib-stat-value {\r\n font-size: 28px;\r\n font-weight: 800;\r\n color: #f8fafc;\r\n line-height: 1;\r\n margin-bottom: 4px;\r\n}\r\n\r\n.contrib-stat-label {\r\n font-size: 12px;\r\n color: #475569;\r\n font-weight: 500;\r\n}\r\n\r\n.contrib-section {\r\n position: relative;\r\n z-index: 1;\r\n max-width: 1200px;\r\n margin: 0 auto;\r\n padding: 0 80px 80px;\r\n}\r\n\r\n.contrib-section-title {\r\n font-size: 32px;\r\n font-weight: 700;\r\n color: #f8fafc;\r\n letter-spacing: -0.5px;\r\n margin: 0 0 36px;\r\n text-align: center;\r\n}\r\n\r\n.contrib-grid {\r\n display: grid;\r\n grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));\r\n gap: 18px;\r\n}\r\n\r\n.contrib-card {\r\n background: rgba(255, 255, 255, 0.03);\r\n border: 1px solid rgba(255, 255, 255, 0.07);\r\n border-radius: 18px;\r\n overflow: hidden;\r\n transition: all 0.3s ease;\r\n text-decoration: none;\r\n display: block;\r\n}\r\n.contrib-card:hover {\r\n background: rgba(255, 255, 255, 0.055);\r\n border-color: rgba(124, 58, 237, 0.25);\r\n transform: translateY(-5px);\r\n box-shadow: 0 20px 40px rgba(0, 0, 0, 0.35);\r\n}\r\n\r\n.contrib-card-body {\r\n padding: 24px;\r\n text-align: center;\r\n}\r\n\r\n.contrib-avatar {\r\n width: 72px;\r\n height: 72px;\r\n border-radius: 50%;\r\n border: 2px solid rgba(124, 58, 237, 0.35);\r\n margin: 0 auto 14px;\r\n display: block;\r\n}\r\n\r\n.contrib-login {\r\n font-size: 15px;\r\n font-weight: 700;\r\n color: #f8fafc;\r\n margin: 0 0 6px;\r\n}\r\n\r\n.contrib-type {\r\n font-size: 12px;\r\n color: #475569;\r\n margin: 0 0 14px;\r\n text-transform: capitalize;\r\n}\r\n\r\n.contrib-badge {\r\n display: inline-flex;\r\n align-items: center;\r\n gap: 6px;\r\n padding: 5px 14px;\r\n background: rgba(124, 58, 237, 0.12);\r\n border: 1px solid rgba(124, 58, 237, 0.25);\r\n border-radius: 100px;\r\n font-size: 12px;\r\n font-weight: 600;\r\n color: #a78bfa;\r\n}\r\n\r\n.contrib-card-footer-bar {\r\n padding: 12px 24px;\r\n background: rgba(255, 255, 255, 0.025);\r\n border-top: 1px solid rgba(255, 255, 255, 0.05);\r\n display: flex;\r\n align-items: center;\r\n justify-content: space-between;\r\n font-size: 12.5px;\r\n color: #475569;\r\n}\r\n\r\n.contrib-view-link {\r\n color: #a78bfa;\r\n font-weight: 600;\r\n font-size: 12.5px;\r\n}\r\n\r\n.contrib-loading {\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n justify-content: center;\r\n min-height: 60vh;\r\n gap: 16px;\r\n position: relative;\r\n z-index: 1;\r\n}\r\n\r\n.contrib-spinner {\r\n width: 48px;\r\n height: 48px;\r\n border: 3px solid rgba(124, 58, 237, 0.2);\r\n border-top-color: #7c3aed;\r\n border-radius: 50%;\r\n animation: spin 0.8s linear infinite;\r\n}\r\n@keyframes spin {\r\n to {\r\n transform: rotate(360deg);\r\n }\r\n}\r\n\r\n.contrib-loading-text {\r\n font-size: 15px;\r\n color: #475569;\r\n}\r\n\r\n/* ── 404 PAGE ─────────────────────────────────────────── */\r\n.notfound-root {\r\n min-height: 100vh;\r\n background: #03010f;\r\n color: #f8fafc;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n position: relative;\r\n overflow: hidden;\r\n font-family:\r\n -apple-system, BlinkMacSystemFont, 'Inter', 'Segoe UI', sans-serif;\r\n padding: 24px;\r\n}\r\n\r\n.notfound-orb-1 {\r\n position: fixed;\r\n border-radius: 50%;\r\n pointer-events: none;\r\n z-index: 0;\r\n width: 600px;\r\n height: 600px;\r\n background: radial-gradient(\r\n circle,\r\n rgba(124, 58, 237, 0.15),\r\n transparent 70%\r\n );\r\n filter: blur(80px);\r\n top: -150px;\r\n left: -150px;\r\n}\r\n.notfound-orb-2 {\r\n position: fixed;\r\n border-radius: 50%;\r\n pointer-events: none;\r\n z-index: 0;\r\n width: 400px;\r\n height: 400px;\r\n background: radial-gradient(circle, rgba(190, 24, 93, 0.12), transparent 70%);\r\n filter: blur(70px);\r\n bottom: -100px;\r\n right: -80px;\r\n}\r\n\r\n.notfound-card {\r\n position: relative;\r\n z-index: 1;\r\n max-width: 480px;\r\n width: 100%;\r\n padding: 60px 48px;\r\n background: rgba(255, 255, 255, 0.03);\r\n border: 1px solid rgba(255, 255, 255, 0.07);\r\n border-radius: 28px;\r\n text-align: center;\r\n backdrop-filter: blur(20px);\r\n}\r\n\r\n.notfound-code {\r\n font-size: 120px;\r\n font-weight: 900;\r\n line-height: 1;\r\n letter-spacing: -6px;\r\n background: linear-gradient(135deg, #a78bfa, #22d3ee, #f472b6);\r\n background-size: 200% auto;\r\n -webkit-background-clip: text;\r\n -webkit-text-fill-color: transparent;\r\n background-clip: text;\r\n animation: grad-flow 5s linear infinite;\r\n margin-bottom: 16px;\r\n}\r\n\r\n.notfound-title {\r\n font-size: 24px;\r\n font-weight: 700;\r\n color: #f8fafc;\r\n margin: 0 0 12px;\r\n}\r\n\r\n.notfound-desc {\r\n font-size: 15px;\r\n color: #64748b;\r\n line-height: 1.7;\r\n margin: 0 0 36px;\r\n}\r\n\r\n.notfound-btn {\r\n display: inline-flex;\r\n align-items: center;\r\n gap: 8px;\r\n padding: 13px 28px;\r\n background: linear-gradient(135deg, #7c3aed, #0891b2);\r\n border: none;\r\n border-radius: 12px;\r\n font-size: 14.5px;\r\n font-weight: 600;\r\n color: white;\r\n cursor: pointer;\r\n transition: all 0.25s ease;\r\n box-shadow: 0 0 30px rgba(124, 58, 237, 0.35);\r\n}\r\n.notfound-btn:hover {\r\n transform: translateY(-2px);\r\n box-shadow: 0 0 45px rgba(124, 58, 237, 0.5);\r\n}\r\n\r\n/* ── FOOTER ──────────────────────────────────────────── */\r\n.footer-root {\r\n position: relative;\r\n background: #03010f;\r\n border-top: 1px solid rgba(255, 255, 255, 0.06);\r\n color: #f8fafc;\r\n overflow: hidden;\r\n font-family:\r\n -apple-system, BlinkMacSystemFont, 'Inter', 'Segoe UI', sans-serif;\r\n}\r\n\r\n.footer-glow-left {\r\n position: absolute;\r\n width: 500px;\r\n height: 300px;\r\n background: radial-gradient(\r\n circle,\r\n rgba(124, 58, 237, 0.08),\r\n transparent 70%\r\n );\r\n filter: blur(60px);\r\n top: 0;\r\n left: -100px;\r\n pointer-events: none;\r\n}\r\n\r\n.footer-glow-right {\r\n position: absolute;\r\n width: 400px;\r\n height: 250px;\r\n background: radial-gradient(circle, rgba(8, 145, 178, 0.06), transparent 70%);\r\n filter: blur(60px);\r\n bottom: 0;\r\n right: -80px;\r\n pointer-events: none;\r\n}\r\n\r\n.footer-inner {\r\n position: relative;\r\n z-index: 1;\r\n max-width: 1400px;\r\n margin: 0 auto;\r\n padding: 64px 80px 48px;\r\n display: grid;\r\n grid-template-columns: 2fr 1fr 1fr 2fr;\r\n gap: 48px;\r\n}\r\n\r\n.footer-brand {\r\n display: flex;\r\n flex-direction: column;\r\n gap: 16px;\r\n}\r\n\r\n.footer-logo {\r\n display: inline-flex;\r\n align-items: center;\r\n gap: 10px;\r\n text-decoration: none;\r\n}\r\n\r\n.footer-logo-mark {\r\n width: 32px;\r\n height: 32px;\r\n background: linear-gradient(135deg, #7c3aed, #0891b2);\r\n border-radius: 8px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n font-weight: 800;\r\n font-size: 16px;\r\n color: white;\r\n}\r\n\r\n.footer-logo-text {\r\n font-size: 16px;\r\n font-weight: 700;\r\n color: #f8fafc;\r\n}\r\n\r\n.footer-logo-accent {\r\n color: #a78bfa;\r\n}\r\n\r\n.footer-tagline {\r\n font-size: 13.5px;\r\n line-height: 1.7;\r\n color: #475569;\r\n max-width: 280px;\r\n margin: 0;\r\n}\r\n\r\n.footer-social {\r\n display: flex;\r\n gap: 10px;\r\n margin-top: 4px;\r\n}\r\n\r\n.footer-social-btn {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: 36px;\r\n height: 36px;\r\n background: rgba(255, 255, 255, 0.05);\r\n border: 1px solid rgba(255, 255, 255, 0.08);\r\n border-radius: 9px;\r\n color: #64748b;\r\n transition: all 0.2s ease;\r\n text-decoration: none;\r\n}\r\n\r\n.footer-social-btn:hover {\r\n background: rgba(124, 58, 237, 0.15);\r\n border-color: rgba(124, 58, 237, 0.3);\r\n color: #a78bfa;\r\n transform: translateY(-2px);\r\n}\r\n\r\n.footer-col {\r\n display: flex;\r\n flex-direction: column;\r\n gap: 16px;\r\n}\r\n\r\n.footer-col-wide {\r\n}\r\n\r\n.footer-col-title {\r\n font-size: 11.5px;\r\n font-weight: 700;\r\n text-transform: uppercase;\r\n letter-spacing: 2px;\r\n color: #a78bfa;\r\n margin: 0;\r\n}\r\n\r\n.footer-links {\r\n list-style: none;\r\n padding: 0;\r\n margin: 0;\r\n display: flex;\r\n flex-direction: column;\r\n gap: 10px;\r\n}\r\n\r\n.footer-link {\r\n font-size: 13.5px;\r\n color: #475569;\r\n text-decoration: none;\r\n transition: color 0.2s ease;\r\n}\r\n\r\n.footer-link:hover {\r\n color: #f8fafc;\r\n}\r\n\r\n.footer-newsletter-desc {\r\n font-size: 13px;\r\n color: #475569;\r\n margin: 0;\r\n line-height: 1.6;\r\n}\r\n\r\n.footer-form {\r\n display: flex;\r\n gap: 8px;\r\n flex-wrap: wrap;\r\n}\r\n\r\n.footer-input {\r\n flex: 1;\r\n min-width: 160px;\r\n padding: 10px 14px;\r\n background: rgba(255, 255, 255, 0.04);\r\n border: 1px solid rgba(255, 255, 255, 0.09);\r\n border-radius: 9px;\r\n font-size: 13.5px;\r\n color: #f8fafc;\r\n outline: none;\r\n transition:\r\n border-color 0.2s ease,\r\n background 0.2s ease;\r\n}\r\n\r\n.footer-input::placeholder {\r\n color: #334155;\r\n}\r\n\r\n.footer-input:focus {\r\n border-color: rgba(124, 58, 237, 0.5);\r\n background: rgba(255, 255, 255, 0.07);\r\n}\r\n\r\n.footer-submit {\r\n padding: 10px 20px;\r\n background: linear-gradient(135deg, #7c3aed, #0891b2);\r\n border: none;\r\n border-radius: 9px;\r\n font-size: 13.5px;\r\n font-weight: 600;\r\n color: white;\r\n cursor: pointer;\r\n transition:\r\n opacity 0.2s ease,\r\n transform 0.2s ease;\r\n white-space: nowrap;\r\n}\r\n\r\n.footer-submit:hover:not(:disabled) {\r\n opacity: 0.9;\r\n transform: translateY(-1px);\r\n}\r\n\r\n.footer-submit:disabled {\r\n opacity: 0.5;\r\n cursor: not-allowed;\r\n}\r\n\r\n.footer-subscribed {\r\n display: flex;\r\n align-items: center;\r\n gap: 8px;\r\n font-size: 13.5px;\r\n color: #22c55e;\r\n padding: 10px 0;\r\n}\r\n\r\n.footer-bottom {\r\n position: relative;\r\n z-index: 1;\r\n max-width: 1400px;\r\n margin: 0 auto;\r\n padding: 20px 80px 32px;\r\n border-top: 1px solid rgba(255, 255, 255, 0.05);\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n flex-wrap: wrap;\r\n gap: 12px;\r\n}\r\n\r\n.footer-copy {\r\n font-size: 12.5px;\r\n color: #334155;\r\n margin: 0;\r\n}\r\n\r\n.footer-bottom-links {\r\n display: flex;\r\n gap: 24px;\r\n}\r\n\r\n.footer-bottom-links .footer-link {\r\n font-size: 12.5px;\r\n}\r\n\r\n@media (max-width: 1100px) {\r\n .footer-inner {\r\n grid-template-columns: 1fr 1fr;\r\n padding: 48px 40px 32px;\r\n gap: 36px;\r\n }\r\n .footer-bottom {\r\n padding: 20px 40px 28px;\r\n }\r\n}\r\n\r\n@media (max-width: 640px) {\r\n .footer-inner {\r\n grid-template-columns: 1fr;\r\n padding: 40px 24px 28px;\r\n gap: 28px;\r\n }\r\n .footer-bottom {\r\n padding: 16px 24px 24px;\r\n flex-direction: column;\r\n align-items: flex-start;\r\n }\r\n}\r\n\r\ndiv.min-h-screen.p-8.bg-gradient-to-r.from-gray-800.via-gray-900.to-black {\r\n padding-top: 100px;\r\n}\r\n\r\n@media (max-width: 640px) {\r\n div.min-h-screen.p-8.bg-gradient-to-r.from-gray-800.via-gray-900.to-black {\r\n padding-top: 80px;\r\n }\r\n}\r\n\r\n/* Navbar Container */\r\n.navbar {\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n padding: 1rem 2rem;\r\n flex-wrap: wrap;\r\n width: 100%;\r\n}\r\n\r\n/* Navigation Links */\r\n.nav-links {\r\n display: flex;\r\n align-items: center;\r\n gap: 1.5rem;\r\n list-style: none;\r\n flex-wrap: wrap;\r\n}\r\n\r\n/* Nav Link Styling */\r\n.nav-links a {\r\n text-decoration: none;\r\n font-size: 1rem;\r\n transition: 0.3s ease;\r\n}\r\n\r\n/* Better Hover Effect */\r\n.nav-links a:hover {\r\n opacity: 0.8;\r\n}\r\n\r\n/* Tablet Responsiveness */\r\n@media screen and (max-width: 992px) {\r\n .navbar {\r\n padding: 1rem;\r\n }\r\n\r\n .nav-links {\r\n gap: 1rem;\r\n }\r\n\r\n .nav-links a {\r\n font-size: 0.95rem;\r\n }\r\n}\r\n\r\n/* Mobile Responsiveness */\r\n@media screen and (max-width: 768px) {\r\n .navbar {\r\n flex-direction: column;\r\n align-items: center;\r\n text-align: center;\r\n }\r\n\r\n .nav-links {\r\n justify-content: center;\r\n margin-top: 1rem;\r\n gap: 0.8rem;\r\n }\r\n\r\n .nav-links a {\r\n font-size: 0.9rem;\r\n }\r\n}\r\n\r\n/* Small Mobile Devices */\r\n@media screen and (max-width: 480px) {\r\n .navbar {\r\n padding: 0.8rem;\r\n }\r\n\r\n .nav-links {\r\n flex-direction: column;\r\n width: 100%;\r\n }\r\n\r\n .nav-links a {\r\n width: 100%;\r\n display: block;\r\n padding: 0.5rem 0;\r\n }\r\n}\r\n\r\n@supports not (\r\n (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))\r\n) {\r\n .adaptive-glass {\r\n background: rgba(15, 23, 42, 0.88);\r\n border-color: rgba(255, 255, 255, 0.2);\r\n box-shadow: 0 18px 48px rgba(2, 6, 23, 0.38);\r\n }\r\n\r\n .glassmorphism,\r\n .frosted-glass {\r\n background: rgba(255, 255, 255, 0.78);\r\n border-color: rgba(255, 255, 255, 0.42);\r\n box-shadow: 0 14px 36px rgba(31, 38, 135, 0.28);\r\n }\r\n\r\n .contrib-stat-card,\r\n .notfound-card {\r\n background: rgba(15, 23, 42, 0.82);\r\n border-color: rgba(255, 255, 255, 0.16);\r\n box-shadow: 0 18px 48px rgba(2, 6, 23, 0.35);\r\n }\r\n}\r\n\r\n/* ===================================================\r\n LIGHT THEME MAPPINGS\r\n =================================================== */\r\n\r\nbody.light-theme {\r\n --app-bg: #f3f4f6;\r\n --app-text: #0f172a;\r\n}\r\n\r\n/* Base adaptive typography rules for Light Theme */\r\nbody.light-theme h1,\r\nbody.light-theme h2,\r\nbody.light-theme h3,\r\nbody.light-theme h4,\r\nbody.light-theme h5,\r\nbody.light-theme h6,\r\nbody.light-theme p,\r\nbody.light-theme span:not(.logo-accent, .github-star-badge, .badge-dot, .cp-badge-dot, .mini-tag, .program-logo-text, .contrib-badge, .cta-stars),\r\nbody.light-theme label,\r\nbody.light-theme td,\r\nbody.light-theme th,\r\nbody.light-theme a:not(.github-pill, .hero-cta, .programs-cta-link, .contrib-card) {\r\n color: #0f172a !important;\r\n}\r\n\r\nbody.light-theme .text-white {\r\n color: #0f172a !important;\r\n}\r\n\r\nbody.light-theme .text-gray-100 {\r\n color: #334155 !important;\r\n}\r\n\r\nbody.light-theme .text-gray-200 {\r\n color: #475569 !important;\r\n}\r\n\r\n/* Adapt component pages backgrounds */\r\nbody.light-theme div.bg-gradient-to-r.from-gray-800.via-gray-900.to-black {\r\n background: radial-gradient(\r\n circle at center,\r\n #f2f6ff,\r\n #dde7f0,\r\n #bcd0e0,\r\n #93b3cc\r\n ) !important;\r\n}\r\n\r\nbody.light-theme .landing-root {\r\n background: radial-gradient(\r\n circle at center,\r\n #f2f6ff,\r\n #dde7f0,\r\n #bcd0e0,\r\n #93b3cc\r\n ) !important;\r\n color: #0f172a !important;\r\n}\r\n\r\nbody.light-theme .cp-root,\r\nbody.light-theme .about-root,\r\nbody.light-theme .contrib-root {\r\n background: #f3f4f6 !important;\r\n color: #0f172a !important;\r\n}\r\n\r\nbody.light-theme .adaptive-app-shell {\r\n background:\r\n radial-gradient(\r\n circle at 20% 12%,\r\n rgba(124, 58, 237, 0.06),\r\n transparent 18%\r\n ),\r\n radial-gradient(\r\n circle at 85% 15%,\r\n rgba(14, 165, 233, 0.06),\r\n transparent 18%\r\n ),\r\n radial-gradient(\r\n circle at 50% 78%,\r\n rgba(59, 130, 246, 0.04),\r\n transparent 28%\r\n ),\r\n linear-gradient(\r\n 180deg,\r\n #f3f4f6 0%,\r\n #e5e7eb 100%\r\n ) !important;\r\n color: #0f172a !important;\r\n}\r\n\r\nbody.light-theme .adaptive-glass {\r\n box-shadow: 0 8px 32px rgba(31, 38, 135, 0.05) !important;\r\n color: #0f172a !important;\r\n}\r\n\r\nbody.light-theme .adaptive-app-shell::before {\r\n background: radial-gradient(\r\n circle at top left,\r\n rgba(124, 58, 237, 0.1),\r\n transparent 24%\r\n ),\r\n radial-gradient(\r\n circle at bottom right,\r\n rgba(14, 165, 233, 0.1),\r\n transparent 20%\r\n ) !important;\r\n}\r\n\r\n/* Specific elements style overrides for light theme */\r\nbody.light-theme .hero-title .title-line:not(.title-gradient) {\r\n color: #0f172a !important;\r\n}\r\nbody.light-theme .hero-subtitle {\r\n color: #334155 !important;\r\n}\r\nbody.light-theme .stat-card {\r\n background: rgba(255, 255, 255, 0.5) !important;\r\n border-color: rgba(124, 58, 237, 0.2) !important;\r\n}\r\nbody.light-theme .stat-value {\r\n color: #0f172a !important;\r\n}\r\nbody.light-theme .stat-label {\r\n color: #475569 !important;\r\n}\r\nbody.light-theme .feature-card {\r\n background: rgba(255, 255, 255, 0.5) !important;\r\n border-color: rgba(124, 58, 237, 0.1) !important;\r\n}\r\nbody.light-theme .feature-title {\r\n color: #0f172a !important;\r\n}\r\nbody.light-theme .feature-desc {\r\n color: #475569 !important;\r\n}\r\nbody.light-theme .programs-title {\r\n color: #0f172a !important;\r\n}\r\nbody.light-theme .programs-subtitle {\r\n color: #475569 !important;\r\n}\r\nbody.light-theme .program-card {\r\n background: rgba(255, 255, 255, 0.5) !important;\r\n border-color: rgba(124, 58, 237, 0.1) !important;\r\n}\r\nbody.light-theme .program-name {\r\n color: #0f172a !important;\r\n}\r\nbody.light-theme .program-desc {\r\n color: #475569 !important;\r\n}\r\nbody.light-theme .cta-title {\r\n color: #0f172a !important;\r\n}\r\nbody.light-theme .cta-subtitle {\r\n color: #475569 !important;\r\n}\r\nbody.light-theme .cta-card {\r\n background: rgba(255, 255, 255, 0.6) !important;\r\n border-color: rgba(255, 255, 255, 0.4) !important;\r\n}\r\n\r\n/* Header style modifications in light mode */\r\nbody.light-theme .site-header:not(.site-header--scrolled) {\r\n background: rgba(255, 255, 255, calc(var(--glass-bg-opacity, 0.2) + 0.15)) !important;\r\n backdrop-filter: blur(var(--glass-blur, 16px)) !important;\r\n -webkit-backdrop-filter: blur(var(--glass-blur, 16px)) !important;\r\n border-bottom-color: rgba(0, 0, 0, 0.06) !important;\r\n box-shadow: 0 4px 20px rgba(0, 0, 0, 0.02) !important;\r\n}\r\nbody.light-theme .site-header--scrolled {\r\n background: rgba(255, 255, 255, 0.8) !important;\r\n border-bottom-color: rgba(0, 0, 0, 0.08) !important;\r\n box-shadow: 0 4px 40px rgba(0, 0, 0, 0.08) !important;\r\n}\r\nbody.light-theme .logo-wordmark {\r\n color: #0f172a !important;\r\n}\r\nbody.light-theme .nav-item {\r\n color: #475569 !important;\r\n}\r\nbody.light-theme .nav-item:hover {\r\n color: #0f172a !important;\r\n background: rgba(0, 0, 0, 0.05) !important;\r\n}\r\nbody.light-theme .nav-item--active {\r\n color: #7c3aed !important;\r\n background: rgba(124, 58, 237, 0.08) !important;\r\n}\r\nbody.light-theme .github-pill {\r\n background: rgba(0, 0, 0, 0.04) !important;\r\n border-color: rgba(0, 0, 0, 0.08) !important;\r\n color: #334155 !important;\r\n}\r\nbody.light-theme .github-pill:hover {\r\n background: rgba(0, 0, 0, 0.08) !important;\r\n border-color: rgba(0, 0, 0, 0.12) !important;\r\n}\r\nbody.light-theme .hamburger {\r\n background: rgba(0, 0, 0, 0.04) !important;\r\n border-color: rgba(0, 0, 0, 0.08) !important;\r\n}\r\nbody.light-theme .hamburger span {\r\n background: #475569 !important;\r\n}\r\nbody.light-theme .mobile-drawer {\r\n background: rgba(255, 255, 255, 0.96) !important;\r\n border-top-color: rgba(0, 0, 0, 0.08) !important;\r\n}\r\nbody.light-theme .mobile-nav-item {\r\n color: #475569 !important;\r\n}\r\nbody.light-theme .mobile-nav-item:hover {\r\n color: #0f172a !important;\r\n background: rgba(0, 0, 0, 0.04) !important;\r\n}\r\nbody.light-theme .mobile-nav-item--active {\r\n color: #7c3aed !important;\r\n background: rgba(124, 58, 237, 0.08) !important;\r\n}\r\nbody.light-theme .mobile-github-btn {\r\n background: rgba(0, 0, 0, 0.04) !important;\r\n border-color: rgba(0, 0, 0, 0.08) !important;\r\n color: #334155 !important;\r\n}\r\n\r\n/* Footer light theme overrides */\r\nbody.light-theme .footer-root {\r\n background: #f3f4f6 !important;\r\n border-top-color: rgba(0, 0, 0, 0.08) !important;\r\n}\r\nbody.light-theme .footer-logo-text {\r\n color: #0f172a !important;\r\n}\r\nbody.light-theme .footer-tagline,\r\nbody.light-theme .footer-col-title,\r\nbody.light-theme .footer-newsletter-desc,\r\nbody.light-theme .footer-copy {\r\n color: #475569 !important;\r\n}\r\nbody.light-theme .footer-link {\r\n color: #64748b !important;\r\n}\r\nbody.light-theme .footer-link:hover {\r\n color: #0f172a !important;\r\n}\r\nbody.light-theme .footer-input {\r\n background: rgba(0, 0, 0, 0.04) !important;\r\n border-color: rgba(0, 0, 0, 0.08) !important;\r\n color: #0f172a !important;\r\n}\r\nbody.light-theme .footer-input::placeholder {\r\n color: #94a3b8 !important;\r\n}\r\nbody.light-theme .footer-social-btn {\r\n background: rgba(0, 0, 0, 0.04) !important;\r\n border-color: rgba(0, 0, 0, 0.08) !important;\r\n color: #475569 !important;\r\n}\r\nbody.light-theme .footer-social-btn:hover {\r\n background: rgba(0, 0, 0, 0.08) !important;\r\n color: #0f172a !important;\r\n}\r\n\r\nbody.light-theme .stories-select option {\r\n background: #ffffff !important;\r\n color: #0f172a !important;\r\n}\r\nbody.light-theme .stories-select optgroup {\r\n background: #ffffff !important;\r\n color: #7c3aed !important;\r\n}\r\n\r\n/* Dynamic overrides for Tailwind glass utility classes to respond to sliders */\r\n.backdrop-blur-lg, .backdrop-blur-xl, .backdrop-blur-2xl, .backdrop-blur-md {\r\n backdrop-filter: blur(var(--glass-blur)) !important;\r\n -webkit-backdrop-filter: blur(var(--glass-blur)) !important;\r\n}\r\n\r\n.bg-white\\/20, \r\n.bg-white\\/10, \r\n.bg-white\\/30, \r\n.bg-white\\/40, \r\n.bg-white\\/5,\r\n.bg-white.bg-opacity-20, \r\n.bg-white.bg-opacity-10 {\r\n background-color: rgba(var(--glass-bg-rgb), var(--glass-bg-opacity)) !important;\r\n}\r\n\r\n.border-white\\/20, \r\n.border-white\\/10, \r\n.border-white\\/30, \r\n.border-white.border-opacity-20 {\r\n border-color: rgba(var(--glass-border-rgb), var(--glass-border-opacity)) !important;\r\n}\r\n\r\n",".page-shell {\r\n min-height: 100vh;\r\n background: #03010f;\r\n color: #f8fafc;\r\n font-family:\r\n -apple-system, BlinkMacSystemFont, 'Inter', 'Segoe UI', sans-serif;\r\n overflow-x: hidden;\r\n position: relative;\r\n}\r\n\r\n/* ── CONTENT ─────────────────────────────────────── */\r\n.ps-content {\r\n position: relative;\r\n z-index: 10;\r\n padding: 6rem 2rem 2rem; /* 96px top clears the fixed header */\r\n max-width: 1200px;\r\n margin: 0 auto;\r\n}\r\n\r\n/* ── GRID OVERLAY ────────────────────────────────── */\r\n.ps-grid {\r\n position: fixed;\r\n inset: 0;\r\n z-index: 0;\r\n pointer-events: none;\r\n background-image:\r\n linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px),\r\n linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px);\r\n background-size: 60px 60px;\r\n}\r\n\r\n/* ── ORBS — shared base ──────────────────────────── */\r\n.ps-orb {\r\n position: fixed;\r\n border-radius: 50%;\r\n pointer-events: none;\r\n z-index: 0;\r\n will-change: transform;\r\n}\r\n\r\n/* Purple — top left */\r\n.ps-orb-1 {\r\n width: 800px;\r\n height: 800px;\r\n background: radial-gradient(circle at center, #7c3aed88, #4c1d9500);\r\n filter: blur(80px);\r\n top: -250px;\r\n left: -250px;\r\n animation: ps-orb1 22s ease-in-out infinite;\r\n}\r\n\r\n/* Cyan — bottom right */\r\n.ps-orb-2 {\r\n width: 700px;\r\n height: 700px;\r\n background: radial-gradient(circle at center, #0891b288, #164e6300);\r\n filter: blur(80px);\r\n bottom: -200px;\r\n right: -200px;\r\n animation: ps-orb2 28s ease-in-out infinite;\r\n}\r\n\r\n/* Pink — mid right */\r\n.ps-orb-3 {\r\n width: 500px;\r\n height: 500px;\r\n background: radial-gradient(circle at center, #be185d66, #83184300);\r\n filter: blur(70px);\r\n top: 45%;\r\n right: 10%;\r\n animation: ps-orb3 20s ease-in-out infinite;\r\n}\r\n\r\n/* Teal — mid left */\r\n.ps-orb-4 {\r\n width: 400px;\r\n height: 400px;\r\n background: radial-gradient(circle at center, #06b6d455, #00000000);\r\n filter: blur(60px);\r\n top: 60%;\r\n left: 5%;\r\n animation: ps-orb1 30s ease-in-out infinite reverse;\r\n}\r\n\r\n/* ── ORB KEYFRAMES ───────────────────────────────── */\r\n@keyframes ps-orb1 {\r\n 0%,\r\n 100% {\r\n transform: translate(0, 0) scale(1);\r\n }\r\n 33% {\r\n transform: translate(60px, 80px) scale(1.08);\r\n }\r\n 66% {\r\n transform: translate(-40px, 40px) scale(0.95);\r\n }\r\n}\r\n\r\n@keyframes ps-orb2 {\r\n 0%,\r\n 100% {\r\n transform: translate(0, 0) scale(1);\r\n }\r\n 33% {\r\n transform: translate(-80px, -60px) scale(1.05);\r\n }\r\n 66% {\r\n transform: translate(40px, -40px) scale(1.12);\r\n }\r\n}\r\n\r\n@keyframes ps-orb3 {\r\n 0%,\r\n 100% {\r\n transform: translate(0, 0) scale(1);\r\n }\r\n 50% {\r\n transform: translate(-60px, 70px) scale(1.15);\r\n }\r\n}\r\n\r\n/* ── REDUCED MOTION ──────────────────────────────── */\r\n@media (prefers-reduced-motion: reduce) {\r\n .ps-orb {\r\n animation: none;\r\n }\r\n}\r\n","/* ===================================================\r\n GLASSYUI — LANDING PAGE DESIGN SYSTEM\r\n Color palette:\r\n Base dark: #03010f\r\n Purple: #7c3aed / #a78bfa\r\n Cyan: #0891b2 / #22d3ee\r\n Pink: #be185d / #f472b6\r\n Text: #f8fafc / #94a3b8 / #475569\r\n=================================================== */\r\n\r\n/* ── ROOT ──────────────────────────────────────── */\r\n.landing-root {\r\n min-height: 100vh;\r\n background: #03010f;\r\n color: #f8fafc;\r\n font-family:\r\n -apple-system, BlinkMacSystemFont, 'Inter', 'Segoe UI', sans-serif;\r\n overflow-x: hidden;\r\n position: relative;\r\n}\r\n\r\n/* ── BACKGROUND ORBS ───────────────────────────── */\r\n.bg-orb {\r\n position: fixed;\r\n border-radius: 50%;\r\n pointer-events: none;\r\n z-index: 0;\r\n will-change: transform;\r\n transition: transform 0.15s ease-out;\r\n}\r\n\r\n.bg-orb-1 {\r\n width: 800px;\r\n height: 800px;\r\n background: radial-gradient(circle at center, #7c3aed88, #4c1d9500);\r\n filter: blur(80px);\r\n top: -250px;\r\n left: -250px;\r\n animation: orb1 22s ease-in-out infinite;\r\n}\r\n\r\n.bg-orb-2 {\r\n width: 700px;\r\n height: 700px;\r\n background: radial-gradient(circle at center, #0891b288, #164e6300);\r\n filter: blur(80px);\r\n bottom: -200px;\r\n right: -200px;\r\n animation: orb2 28s ease-in-out infinite;\r\n}\r\n\r\n.bg-orb-3 {\r\n width: 500px;\r\n height: 500px;\r\n background: radial-gradient(circle at center, #be185d66, #83184300);\r\n filter: blur(70px);\r\n top: 45%;\r\n right: 10%;\r\n animation: orb3 20s ease-in-out infinite;\r\n}\r\n\r\n.bg-orb-4 {\r\n width: 400px;\r\n height: 400px;\r\n background: radial-gradient(circle at center, #06b6d455, #00000000);\r\n filter: blur(60px);\r\n top: 60%;\r\n left: 5%;\r\n animation: orb1 30s ease-in-out infinite reverse;\r\n}\r\n\r\n@keyframes orb1 {\r\n 0%,\r\n 100% {\r\n transform: translate(0, 0) scale(1);\r\n }\r\n 33% {\r\n transform: translate(60px, 80px) scale(1.08);\r\n }\r\n 66% {\r\n transform: translate(-40px, 40px) scale(0.95);\r\n }\r\n}\r\n@keyframes orb2 {\r\n 0%,\r\n 100% {\r\n transform: translate(0, 0) scale(1);\r\n }\r\n 33% {\r\n transform: translate(-80px, -60px) scale(1.05);\r\n }\r\n 66% {\r\n transform: translate(40px, -40px) scale(1.12);\r\n }\r\n}\r\n@keyframes orb3 {\r\n 0%,\r\n 100% {\r\n transform: translate(0, 0) scale(1);\r\n }\r\n 50% {\r\n transform: translate(-60px, 70px) scale(1.15);\r\n }\r\n}\r\n\r\n/* ── GRID OVERLAY ──────────────────────────────── */\r\n.grid-overlay {\r\n position: fixed;\r\n inset: 0;\r\n z-index: 0;\r\n pointer-events: none;\r\n background-image:\r\n linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px),\r\n linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px);\r\n background-size: 60px 60px;\r\n}\r\n\r\n/* ── HERO SECTION ──────────────────────────────── */\r\n.hero-section {\r\n position: relative;\r\n z-index: 1;\r\n min-height: 100vh;\r\n display: flex;\r\n align-items: center;\r\n gap: 80px;\r\n padding: 140px 80px 100px;\r\n max-width: 1400px;\r\n margin: 0 auto;\r\n}\r\n\r\n.hero-content {\r\n flex: 1;\r\n max-width: 640px;\r\n}\r\n\r\n/* Badge */\r\n.hero-badge {\r\n display: inline-flex;\r\n align-items: center;\r\n gap: 10px;\r\n padding: 7px 14px 7px 10px;\r\n background: rgba(124, 58, 237, 0.12);\r\n border: 1px solid rgba(124, 58, 237, 0.35);\r\n border-radius: 100px;\r\n font-size: 12.5px;\r\n color: #a78bfa;\r\n margin-bottom: 36px;\r\n backdrop-filter: blur(10px);\r\n}\r\n\r\n.badge-dot {\r\n width: 7px;\r\n height: 7px;\r\n border-radius: 50%;\r\n background: #7c3aed;\r\n box-shadow: 0 0 8px #7c3aedaa;\r\n animation: pulse-dot 2.2s ease-in-out infinite;\r\n flex-shrink: 0;\r\n}\r\n\r\n@keyframes pulse-dot {\r\n 0%,\r\n 100% {\r\n box-shadow: 0 0 6px #7c3aedaa;\r\n }\r\n 50% {\r\n box-shadow: 0 0 14px #7c3aed;\r\n }\r\n}\r\n\r\n.badge-link {\r\n color: #c4b5fd;\r\n text-decoration: none;\r\n font-weight: 500;\r\n transition: color 0.2s;\r\n}\r\n.badge-link:hover {\r\n color: #f8fafc;\r\n}\r\n\r\n/* Hero title */\r\n.hero-title {\r\n font-size: clamp(48px, 5.5vw, 84px);\r\n font-weight: 800;\r\n line-height: 1.06;\r\n letter-spacing: -2.5px;\r\n margin: 0 0 28px;\r\n display: flex;\r\n flex-direction: column;\r\n}\r\n\r\n.title-line {\r\n display: block;\r\n color: #f8fafc;\r\n}\r\n\r\n.title-gradient {\r\n background: linear-gradient(\r\n 135deg,\r\n #a78bfa 0%,\r\n #22d3ee 40%,\r\n #f472b6 80%,\r\n #a78bfa 100%\r\n );\r\n background-size: 200% auto;\r\n -webkit-background-clip: text;\r\n -webkit-text-fill-color: transparent;\r\n background-clip: text;\r\n animation: grad-flow 5s linear infinite;\r\n}\r\n\r\n@keyframes grad-flow {\r\n 0% {\r\n background-position: 0% center;\r\n }\r\n 100% {\r\n background-position: 200% center;\r\n }\r\n}\r\n\r\n/* Subtitle */\r\n.hero-subtitle {\r\n font-size: 17px;\r\n line-height: 1.75;\r\n color: #94a3b8;\r\n margin: 0 0 44px;\r\n max-width: 500px;\r\n}\r\n\r\n/* CTA group */\r\n.hero-cta-group {\r\n display: flex;\r\n gap: 14px;\r\n flex-wrap: wrap;\r\n margin-bottom: 60px;\r\n}\r\n\r\n.hero-cta {\r\n display: inline-flex;\r\n align-items: center;\r\n gap: 8px;\r\n padding: 13px 26px;\r\n border-radius: 12px;\r\n font-size: 14.5px;\r\n font-weight: 600;\r\n text-decoration: none;\r\n transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);\r\n cursor: pointer;\r\n position: relative;\r\n overflow: hidden;\r\n white-space: nowrap;\r\n}\r\n\r\n/* Primary CTA */\r\n.cta-primary {\r\n background: linear-gradient(135deg, #7c3aed, #0891b2);\r\n color: #fff;\r\n box-shadow:\r\n 0 0 0 1px rgba(124, 58, 237, 0.4),\r\n 0 8px 32px rgba(124, 58, 237, 0.35),\r\n inset 0 1px 0 rgba(255, 255, 255, 0.15);\r\n}\r\n.cta-primary:hover {\r\n background: linear-gradient(135deg, #8b5cf6, #06b6d4);\r\n transform: translateY(-2px);\r\n box-shadow:\r\n 0 0 0 1px rgba(124, 58, 237, 0.5),\r\n 0 12px 40px rgba(124, 58, 237, 0.5),\r\n inset 0 1px 0 rgba(255, 255, 255, 0.2);\r\n}\r\n.cta-primary svg {\r\n transition: transform 0.2s ease;\r\n}\r\n.cta-primary:hover svg {\r\n transform: translateX(3px);\r\n}\r\n\r\n/* Secondary CTA */\r\n.cta-secondary {\r\n background: rgba(255, 255, 255, 0.05);\r\n color: #e2e8f0;\r\n border: 1px solid rgba(255, 255, 255, 0.1);\r\n backdrop-filter: blur(10px);\r\n}\r\n.cta-secondary:hover {\r\n background: rgba(255, 255, 255, 0.09);\r\n border-color: rgba(255, 255, 255, 0.18);\r\n transform: translateY(-2px);\r\n}\r\n\r\n/* Outline CTA */\r\n.cta-outline {\r\n background: transparent;\r\n color: #a78bfa;\r\n border: 1px solid rgba(167, 139, 250, 0.3);\r\n}\r\n.cta-outline:hover {\r\n background: rgba(124, 58, 237, 0.1);\r\n border-color: rgba(167, 139, 250, 0.55);\r\n transform: translateY(-2px);\r\n}\r\n\r\n.cta-stars {\r\n font-size: 11px;\r\n padding: 2px 9px;\r\n background: rgba(251, 191, 36, 0.12);\r\n border: 1px solid rgba(251, 191, 36, 0.28);\r\n border-radius: 100px;\r\n color: #fbbf24;\r\n}\r\n\r\n/* Stats row */\r\n.stats-row {\r\n display: flex;\r\n gap: 14px;\r\n flex-wrap: wrap;\r\n}\r\n\r\n.stat-card {\r\n flex: 1;\r\n min-width: 90px;\r\n padding: 16px 18px;\r\n background: rgba(255, 255, 255, 0.035);\r\n border: 1px solid rgba(255, 255, 255, 0.07);\r\n border-radius: 16px;\r\n backdrop-filter: blur(10px);\r\n text-align: center;\r\n transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\r\n cursor: default;\r\n}\r\n.stat-card:hover {\r\n background: rgba(255, 255, 255, 0.065);\r\n border-color: rgba(167, 139, 250, 0.25);\r\n transform: translateY(-5px);\r\n box-shadow: 0 20px 40px rgba(0, 0, 0, 0.35);\r\n}\r\n\r\n.stat-icon {\r\n color: #a78bfa;\r\n display: flex;\r\n justify-content: center;\r\n margin-bottom: 8px;\r\n}\r\n.stat-value {\r\n font-size: 22px;\r\n font-weight: 700;\r\n color: #f8fafc;\r\n line-height: 1;\r\n}\r\n.stat-label {\r\n font-size: 11.5px;\r\n color: #475569;\r\n margin-top: 5px;\r\n font-weight: 500;\r\n}\r\n\r\n/* ── HERO PREVIEW CARD ─────────────────────────── */\r\n.hero-preview {\r\n flex: 0 0 auto;\r\n position: relative;\r\n}\r\n\r\n.preview-glow {\r\n position: absolute;\r\n inset: -40px;\r\n background: radial-gradient(\r\n circle at 50% 60%,\r\n rgba(124, 58, 237, 0.2),\r\n transparent 70%\r\n );\r\n filter: blur(30px);\r\n pointer-events: none;\r\n z-index: 0;\r\n}\r\n\r\n.preview-card {\r\n position: relative;\r\n z-index: 1;\r\n width: 320px;\r\n background: rgba(10, 8, 30, 0.85);\r\n border: 1px solid rgba(255, 255, 255, 0.08);\r\n border-radius: 20px;\r\n overflow: hidden;\r\n backdrop-filter: blur(24px);\r\n box-shadow:\r\n 0 60px 120px rgba(0, 0, 0, 0.6),\r\n 0 0 0 1px rgba(255, 255, 255, 0.04),\r\n inset 0 1px 0 rgba(255, 255, 255, 0.08);\r\n animation: float-card 7s ease-in-out infinite;\r\n}\r\n\r\n@keyframes float-card {\r\n 0%,\r\n 100% {\r\n transform: translateY(0) rotate(1.5deg);\r\n }\r\n 50% {\r\n transform: translateY(-18px) rotate(-0.5deg);\r\n }\r\n}\r\n\r\n.preview-header {\r\n display: flex;\r\n align-items: center;\r\n gap: 10px;\r\n padding: 12px 16px;\r\n background: rgba(255, 255, 255, 0.03);\r\n border-bottom: 1px solid rgba(255, 255, 255, 0.05);\r\n}\r\n\r\n.preview-dots {\r\n display: flex;\r\n gap: 6px;\r\n}\r\n.dot {\r\n width: 10px;\r\n height: 10px;\r\n border-radius: 50%;\r\n}\r\n.dot-red {\r\n background: #ef4444;\r\n}\r\n.dot-yellow {\r\n background: #f59e0b;\r\n}\r\n.dot-green {\r\n background: #22c55e;\r\n}\r\n\r\n.preview-filename {\r\n font-size: 11px;\r\n color: #475569;\r\n font-family: 'Courier New', monospace;\r\n}\r\n\r\n.preview-body {\r\n padding: 16px;\r\n display: flex;\r\n flex-direction: column;\r\n gap: 12px;\r\n}\r\n\r\n/* Mini glass card inside preview */\r\n.mini-glass-card {\r\n background: rgba(255, 255, 255, 0.055);\r\n border: 1px solid rgba(255, 255, 255, 0.09);\r\n border-radius: 14px;\r\n padding: 14px;\r\n display: flex;\r\n align-items: center;\r\n gap: 12px;\r\n position: relative;\r\n overflow: hidden;\r\n backdrop-filter: blur(8px);\r\n}\r\n\r\n.mini-card-shine {\r\n position: absolute;\r\n top: -60%;\r\n right: -40%;\r\n width: 130px;\r\n height: 130px;\r\n background: radial-gradient(circle, rgba(124, 58, 237, 0.3), transparent 70%);\r\n pointer-events: none;\r\n}\r\n\r\n.mini-avatar {\r\n width: 36px;\r\n height: 36px;\r\n border-radius: 10px;\r\n background: linear-gradient(135deg, #7c3aed, #0891b2);\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n font-size: 10px;\r\n font-weight: 700;\r\n color: white;\r\n flex-shrink: 0;\r\n}\r\n\r\n.mini-card-info {\r\n flex: 1;\r\n}\r\n.mini-line {\r\n height: 7px;\r\n border-radius: 4px;\r\n background: rgba(255, 255, 255, 0.12);\r\n margin-bottom: 6px;\r\n}\r\n.line-lg {\r\n width: 80%;\r\n}\r\n.line-sm {\r\n width: 50%;\r\n margin-bottom: 0;\r\n}\r\n\r\n.mini-tag {\r\n font-size: 9.5px;\r\n padding: 4px 10px;\r\n background: rgba(124, 58, 237, 0.2);\r\n border: 1px solid rgba(124, 58, 237, 0.35);\r\n border-radius: 100px;\r\n color: #a78bfa;\r\n white-space: nowrap;\r\n font-weight: 600;\r\n}\r\n\r\n/* Mini buttons */\r\n.mini-btn-row {\r\n display: flex;\r\n gap: 8px;\r\n}\r\n\r\n.mini-btn-primary,\r\n.mini-btn-ghost,\r\n.mini-btn-outline {\r\n flex: 1;\r\n padding: 9px 0;\r\n border-radius: 9px;\r\n font-size: 10.5px;\r\n font-weight: 600;\r\n text-align: center;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n gap: 4px;\r\n}\r\n\r\n.mini-btn-primary {\r\n background: linear-gradient(135deg, #7c3aed, #0891b2);\r\n color: white;\r\n}\r\n\r\n.mini-btn-ghost {\r\n background: rgba(255, 255, 255, 0.06);\r\n color: #94a3b8;\r\n border: 1px solid rgba(255, 255, 255, 0.09);\r\n}\r\n\r\n.mini-btn-outline {\r\n background: transparent;\r\n color: #a78bfa;\r\n border: 1px solid rgba(124, 58, 237, 0.35);\r\n}\r\n\r\n/* Mini input */\r\n.mini-input {\r\n background: rgba(255, 255, 255, 0.04);\r\n border: 1px solid rgba(255, 255, 255, 0.08);\r\n border-radius: 9px;\r\n padding: 9px 12px;\r\n display: flex;\r\n align-items: center;\r\n gap: 8px;\r\n}\r\n\r\n.mini-input-icon {\r\n font-size: 13px;\r\n color: #475569;\r\n}\r\n\r\n.mini-input-placeholder {\r\n font-size: 10.5px;\r\n color: #334155;\r\n}\r\n\r\n/* Mini progress */\r\n.mini-progress-wrap {\r\n}\r\n.mini-progress-label {\r\n display: flex;\r\n justify-content: space-between;\r\n font-size: 10px;\r\n color: #475569;\r\n margin-bottom: 5px;\r\n}\r\n\r\n.mini-progress-bar {\r\n height: 5px;\r\n border-radius: 3px;\r\n background: rgba(255, 255, 255, 0.06);\r\n overflow: hidden;\r\n}\r\n\r\n.mini-progress-fill {\r\n height: 100%;\r\n width: 73%;\r\n background: linear-gradient(90deg, #7c3aed, #06b6d4);\r\n border-radius: 3px;\r\n animation: prog-pulse 2s ease-in-out infinite;\r\n}\r\n\r\n@keyframes prog-pulse {\r\n 0%,\r\n 100% {\r\n opacity: 1;\r\n }\r\n 50% {\r\n opacity: 0.7;\r\n }\r\n}\r\n\r\n/* ── OPEN SOURCE PROGRAMS SECTION ─────────────── */\r\n.programs-section {\r\n position: relative;\r\n z-index: 1;\r\n padding: 0 0 20px;\r\n}\r\n\r\n.programs-inner {\r\n max-width: 1400px;\r\n margin: 0 auto;\r\n padding: 80px 80px 0;\r\n}\r\n\r\n.programs-header {\r\n text-align: center;\r\n margin-bottom: 56px;\r\n}\r\n\r\n.programs-title {\r\n font-size: clamp(28px, 3.5vw, 46px);\r\n font-weight: 700;\r\n color: #f8fafc;\r\n letter-spacing: -1px;\r\n margin: 0 0 16px;\r\n}\r\n\r\n.programs-subtitle {\r\n font-size: 16px;\r\n color: #64748b;\r\n line-height: 1.7;\r\n max-width: 560px;\r\n margin: 0 auto;\r\n}\r\n\r\n.programs-grid {\r\n display: grid;\r\n grid-template-columns: repeat(3, 1fr);\r\n gap: 20px;\r\n}\r\n\r\n/* Individual program card */\r\n.program-card {\r\n position: relative;\r\n padding: 32px;\r\n background: rgba(255, 255, 255, 0.03);\r\n border: 1px solid rgba(255, 255, 255, 0.07);\r\n border-radius: 22px;\r\n overflow: hidden;\r\n transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);\r\n cursor: default;\r\n display: flex;\r\n flex-direction: column;\r\n gap: 14px;\r\n}\r\n\r\n.program-card-glow {\r\n position: absolute;\r\n inset: 0;\r\n pointer-events: none;\r\n transition: opacity 0.35s ease;\r\n}\r\n\r\n.program-logo-row {\r\n display: flex;\r\n align-items: center;\r\n justify-content: space-between;\r\n gap: 12px;\r\n}\r\n\r\n.program-logo-badge {\r\n display: inline-flex;\r\n align-items: center;\r\n gap: 8px;\r\n padding: 8px 14px;\r\n border-radius: 10px;\r\n color: white;\r\n font-size: 13px;\r\n font-weight: 800;\r\n letter-spacing: 0.5px;\r\n box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);\r\n}\r\n\r\n.program-logo-text {\r\n font-size: 12px;\r\n font-weight: 800;\r\n letter-spacing: 1px;\r\n}\r\n\r\n.program-year-tag {\r\n font-size: 11px;\r\n font-weight: 700;\r\n padding: 4px 12px;\r\n border-radius: 100px;\r\n border: 1px solid;\r\n letter-spacing: 0.3px;\r\n white-space: nowrap;\r\n}\r\n\r\n.program-name {\r\n font-size: 17px;\r\n font-weight: 700;\r\n color: #f8fafc;\r\n margin: 0;\r\n line-height: 1.3;\r\n}\r\n\r\n.program-year-inline {\r\n color: #64748b;\r\n font-weight: 600;\r\n}\r\n\r\n.program-desc {\r\n font-size: 13.5px;\r\n line-height: 1.65;\r\n color: #64748b;\r\n margin: 0;\r\n flex: 1;\r\n}\r\n\r\n.program-selected-row {\r\n margin-top: 4px;\r\n}\r\n\r\n.program-selected-badge {\r\n display: inline-flex;\r\n align-items: center;\r\n gap: 6px;\r\n font-size: 11.5px;\r\n font-weight: 700;\r\n padding: 5px 12px;\r\n border-radius: 100px;\r\n border: 1px solid;\r\n letter-spacing: 0.2px;\r\n}\r\n\r\n/* CTA row */\r\n.programs-cta-row {\r\n text-align: center;\r\n margin-top: 40px;\r\n padding-bottom: 20px;\r\n}\r\n\r\n.programs-cta-link {\r\n font-size: 14px;\r\n font-weight: 600;\r\n color: #a78bfa;\r\n text-decoration: none;\r\n transition: color 0.2s ease;\r\n padding-bottom: 2px;\r\n border-bottom: 1px dashed rgba(167, 139, 250, 0.4);\r\n}\r\n\r\n.programs-cta-link:hover {\r\n color: #c4b5fd;\r\n border-bottom-color: rgba(196, 181, 253, 0.6);\r\n}\r\n\r\n@media (max-width: 1100px) {\r\n .programs-inner {\r\n padding: 60px 48px 0;\r\n }\r\n .programs-grid {\r\n grid-template-columns: 1fr;\r\n gap: 16px;\r\n }\r\n}\r\n\r\n@media (max-width: 640px) {\r\n .programs-inner {\r\n padding: 48px 24px 0;\r\n }\r\n .program-card {\r\n padding: 24px;\r\n }\r\n}\r\n\r\n/* ── FEATURES SECTION ──────────────────────────── */\r\n.features-section {\r\n position: relative;\r\n z-index: 1;\r\n max-width: 1400px;\r\n margin: 0 auto;\r\n padding: 100px 80px;\r\n}\r\n\r\n.features-header {\r\n text-align: center;\r\n margin-bottom: 64px;\r\n}\r\n\r\n.section-label {\r\n display: inline-block;\r\n font-size: 11.5px;\r\n font-weight: 700;\r\n text-transform: uppercase;\r\n letter-spacing: 2.5px;\r\n color: #a78bfa;\r\n margin-bottom: 18px;\r\n}\r\n\r\n.section-title {\r\n font-size: clamp(30px, 3.5vw, 48px);\r\n font-weight: 700;\r\n color: #f8fafc;\r\n letter-spacing: -1px;\r\n margin: 0 0 18px;\r\n}\r\n\r\n.section-subtitle {\r\n font-size: 16px;\r\n color: #64748b;\r\n line-height: 1.7;\r\n max-width: 580px;\r\n margin: 0 auto;\r\n}\r\n\r\n.features-grid {\r\n display: grid;\r\n grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));\r\n gap: 18px;\r\n}\r\n\r\n.feature-card {\r\n position: relative;\r\n padding: 32px;\r\n background: rgba(255, 255, 255, 0.025);\r\n border: 1px solid rgba(255, 255, 255, 0.065);\r\n border-radius: 20px;\r\n text-align: left;\r\n transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);\r\n overflow: hidden;\r\n cursor: default;\r\n}\r\n\r\n.feature-card:hover {\r\n background: rgba(255, 255, 255, 0.05);\r\n border-color: rgba(255, 255, 255, 0.12);\r\n transform: translateY(-8px);\r\n}\r\n\r\n.feature-icon-bg {\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: 52px;\r\n height: 52px;\r\n border-radius: 14px;\r\n color: white;\r\n margin-bottom: 22px;\r\n}\r\n\r\n.feature-title {\r\n font-size: 19px;\r\n font-weight: 700;\r\n color: #f8fafc;\r\n margin: 0 0 12px;\r\n}\r\n\r\n.feature-desc {\r\n font-size: 14.5px;\r\n line-height: 1.65;\r\n color: #64748b;\r\n margin: 0;\r\n}\r\n\r\n.feature-glow {\r\n position: absolute;\r\n inset: 0;\r\n pointer-events: none;\r\n opacity: 0;\r\n transition: opacity 0.4s ease;\r\n}\r\n.feature-card:hover .feature-glow {\r\n opacity: 1;\r\n}\r\n\r\n.feature-shimmer {\r\n position: absolute;\r\n top: 0;\r\n left: -100%;\r\n width: 60%;\r\n height: 100%;\r\n background: linear-gradient(\r\n 90deg,\r\n transparent,\r\n rgba(255, 255, 255, 0.04),\r\n transparent\r\n );\r\n transform: skewX(-20deg);\r\n transition: left 0.6s ease;\r\n pointer-events: none;\r\n}\r\n.feature-card:hover .feature-shimmer {\r\n left: 150%;\r\n}\r\n\r\n/* ── MARQUEE STRIP ─────────────────────────────── */\r\n.marquee-section {\r\n position: relative;\r\n z-index: 1;\r\n overflow: hidden;\r\n border-top: 1px solid rgba(255, 255, 255, 0.05);\r\n border-bottom: 1px solid rgba(255, 255, 255, 0.05);\r\n padding: 20px 0;\r\n background: rgba(255, 255, 255, 0.018);\r\n margin: 0 0 0;\r\n}\r\n\r\n.marquee-track {\r\n display: flex;\r\n gap: 0;\r\n animation: marquee-scroll 30s linear infinite;\r\n white-space: nowrap;\r\n}\r\n\r\n@keyframes marquee-scroll {\r\n 0% {\r\n transform: translateX(0);\r\n }\r\n 100% {\r\n transform: translateX(-50%);\r\n }\r\n}\r\n\r\n.marquee-item {\r\n display: inline-flex;\r\n align-items: center;\r\n gap: 12px;\r\n padding: 0 32px;\r\n font-size: 13.5px;\r\n font-weight: 600;\r\n color: #475569;\r\n letter-spacing: 0.5px;\r\n}\r\n\r\n.marquee-dot {\r\n font-size: 8px;\r\n color: #7c3aed;\r\n}\r\n\r\n/* ── CTA SECTION ───────────────────────────────── */\r\n.cta-section {\r\n position: relative;\r\n z-index: 1;\r\n max-width: 1400px;\r\n margin: 80px auto 100px;\r\n padding: 0 80px;\r\n}\r\n\r\n.cta-card {\r\n position: relative;\r\n padding: 90px 80px;\r\n background: rgba(124, 58, 237, 0.07);\r\n border: 1px solid rgba(124, 58, 237, 0.18);\r\n border-radius: 28px;\r\n text-align: center;\r\n backdrop-filter: blur(20px);\r\n overflow: hidden;\r\n}\r\n\r\n.cta-card::before {\r\n content: '';\r\n position: absolute;\r\n inset: 0;\r\n background: radial-gradient(\r\n ellipse at 50% -10%,\r\n rgba(124, 58, 237, 0.18),\r\n transparent 65%\r\n );\r\n pointer-events: none;\r\n}\r\n\r\n.cta-orb {\r\n position: absolute;\r\n width: 400px;\r\n height: 400px;\r\n border-radius: 50%;\r\n filter: blur(80px);\r\n pointer-events: none;\r\n opacity: 0.15;\r\n}\r\n\r\n.cta-orb-left {\r\n background: #7c3aed;\r\n top: -100px;\r\n left: -100px;\r\n}\r\n\r\n.cta-orb-right {\r\n background: #0891b2;\r\n bottom: -100px;\r\n right: -100px;\r\n}\r\n\r\n.cta-inner {\r\n position: relative;\r\n z-index: 1;\r\n}\r\n\r\n.cta-title {\r\n font-size: clamp(32px, 4vw, 56px);\r\n font-weight: 800;\r\n color: #f8fafc;\r\n letter-spacing: -1.5px;\r\n margin: 16px 0 20px;\r\n line-height: 1.1;\r\n}\r\n\r\n.cta-subtitle {\r\n font-size: 17px;\r\n color: #64748b;\r\n margin: 0 0 48px;\r\n line-height: 1.7;\r\n}\r\n\r\n.cta-buttons {\r\n display: flex;\r\n gap: 16px;\r\n justify-content: center;\r\n flex-wrap: wrap;\r\n}\r\n\r\n/* ── ANIMATED GLOSSY TEXT (kept for compat) ────── */\r\n@keyframes glossy-animation {\r\n 0% {\r\n background-position: 0% 50%;\r\n }\r\n 50% {\r\n background-position: 100% 50%;\r\n }\r\n 100% {\r\n background-position: 0% 50%;\r\n }\r\n}\r\n\r\n.animated-glossy-text {\r\n background: linear-gradient(\r\n 270deg,\r\n #ff6b6b,\r\n #feca57,\r\n #48dbfb,\r\n #ff9ff3,\r\n #54a0ff\r\n );\r\n background-size: 300% 300%;\r\n animation: glossy-animation 10s ease infinite;\r\n -webkit-background-clip: text;\r\n -webkit-text-fill-color: transparent;\r\n background-clip: text;\r\n display: inline-block;\r\n}\r\n\r\n/* ── RESPONSIVE ────────────────────────────────── */\r\n@media (max-width: 1100px) {\r\n .hero-section {\r\n flex-direction: column;\r\n padding: 130px 48px 80px;\r\n text-align: center;\r\n gap: 60px;\r\n }\r\n .hero-content {\r\n max-width: 100%;\r\n }\r\n .hero-subtitle {\r\n max-width: 100%;\r\n margin-left: auto;\r\n margin-right: auto;\r\n }\r\n .hero-cta-group {\r\n justify-content: center;\r\n }\r\n .stats-row {\r\n justify-content: center;\r\n }\r\n .hero-preview {\r\n display: none;\r\n }\r\n .features-section,\r\n .cta-section {\r\n padding-left: 48px;\r\n padding-right: 48px;\r\n }\r\n}\r\n\r\n@media (max-width: 680px) {\r\n .hero-section {\r\n padding: 110px 24px 60px;\r\n }\r\n .hero-title {\r\n letter-spacing: -1.5px;\r\n }\r\n .hero-badge {\r\n font-size: 11px;\r\n }\r\n .features-section {\r\n padding: 70px 24px;\r\n }\r\n .cta-section {\r\n padding: 0 24px;\r\n margin-bottom: 60px;\r\n }\r\n .cta-card {\r\n padding: 52px 28px;\r\n }\r\n .stat-card {\r\n min-width: 70px;\r\n padding: 12px;\r\n }\r\n .hero-cta {\r\n padding: 11px 20px;\r\n font-size: 13.5px;\r\n }\r\n .features-grid {\r\n grid-template-columns: 1fr;\r\n }\r\n}\r\n","/* ===================================================\r\n GLASSYUI — HEADER STYLES\r\n=================================================== */\r\n\r\n/* ── HEADER SHELL ──────────────────────────────── */\r\n.site-header {\r\n position: fixed;\r\n top: 0;\r\n left: 0;\r\n right: 0;\r\n z-index: 1000;\r\n padding: 18px 0;\r\n transition:\r\n background 0.35s cubic-bezier(0.4, 0, 0.2, 1),\r\n border-color 0.35s ease,\r\n padding 0.35s ease,\r\n box-shadow 0.35s ease;\r\n border-bottom: 1px solid transparent;\r\n}\r\n\r\n.site-header--scrolled {\r\n background: rgba(3, 1, 15, 0.82);\r\n backdrop-filter: blur(22px);\r\n -webkit-backdrop-filter: blur(22px);\r\n border-bottom-color: rgba(255, 255, 255, 0.055);\r\n padding: 12px 0;\r\n box-shadow: 0 4px 40px rgba(0, 0, 0, 0.35);\r\n}\r\n\r\n/* ── INNER LAYOUT ──────────────────────────────── */\r\n.header-inner {\r\n max-width: 1400px;\r\n margin: 0 auto;\r\n padding: 0 80px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: space-between;\r\n gap: 32px;\r\n}\r\n\r\n/* ── LOGO ──────────────────────────────────────── */\r\n.header-logo {\r\n display: flex;\r\n align-items: center;\r\n gap: 10px;\r\n text-decoration: none;\r\n flex-shrink: 0;\r\n}\r\n\r\n.logo-mark {\r\n width: 34px;\r\n height: 34px;\r\n background: linear-gradient(135deg, #7c3aed, #0891b2);\r\n border-radius: 9px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n font-weight: 800;\r\n font-size: 17px;\r\n color: white;\r\n box-shadow: 0 0 18px rgba(124, 58, 237, 0.45);\r\n transition:\r\n box-shadow 0.25s ease,\r\n transform 0.25s ease;\r\n}\r\n\r\n.header-logo:hover .logo-mark {\r\n box-shadow: 0 0 28px rgba(124, 58, 237, 0.65);\r\n transform: scale(1.05) rotate(-3deg);\r\n}\r\n\r\n.logo-wordmark {\r\n font-size: 17px;\r\n font-weight: 700;\r\n color: #f8fafc;\r\n letter-spacing: -0.3px;\r\n}\r\n\r\n.logo-accent {\r\n color: #a78bfa;\r\n}\r\n\r\n/* ── DESKTOP NAV ───────────────────────────────── */\r\n.header-nav {\r\n display: flex;\r\n align-items: center;\r\n gap: 2px;\r\n flex: 1;\r\n justify-content: center;\r\n}\r\n\r\n.nav-item {\r\n position: relative;\r\n padding: 7px 14px;\r\n font-size: 13.5px;\r\n font-weight: 500;\r\n color: #94a3b8;\r\n text-decoration: none;\r\n border-radius: 8px;\r\n transition:\r\n color 0.2s ease,\r\n background 0.2s ease;\r\n white-space: nowrap;\r\n}\r\n\r\n.nav-item:hover {\r\n color: #f8fafc;\r\n background: rgba(255, 255, 255, 0.055);\r\n}\r\n\r\n.nav-item--active {\r\n color: #f8fafc;\r\n background: rgba(124, 58, 237, 0.1);\r\n}\r\n\r\n.nav-item--active:hover {\r\n background: rgba(124, 58, 237, 0.15);\r\n}\r\n\r\n.nav-indicator {\r\n position: absolute;\r\n bottom: 5px;\r\n left: 50%;\r\n transform: translateX(-50%);\r\n width: 4px;\r\n height: 4px;\r\n border-radius: 50%;\r\n background: #7c3aed;\r\n box-shadow: 0 0 7px #7c3aed;\r\n}\r\n\r\n/* ── RIGHT ACTIONS ─────────────────────────────── */\r\n.header-actions {\r\n display: flex;\r\n align-items: center;\r\n gap: 12px;\r\n flex-shrink: 0;\r\n}\r\n\r\n/* GitHub pill button */\r\n.github-pill {\r\n display: inline-flex;\r\n align-items: center;\r\n gap: 7px;\r\n padding: 7px 14px;\r\n background: rgba(255, 255, 255, 0.055);\r\n border: 1px solid rgba(255, 255, 255, 0.1);\r\n border-radius: 9px;\r\n font-size: 13px;\r\n font-weight: 500;\r\n color: #e2e8f0;\r\n text-decoration: none;\r\n transition: all 0.22s ease;\r\n}\r\n\r\n.github-pill:hover {\r\n background: rgba(255, 255, 255, 0.09);\r\n border-color: rgba(255, 255, 255, 0.18);\r\n transform: translateY(-1px);\r\n box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25);\r\n}\r\n\r\n.github-star-badge {\r\n font-size: 10.5px;\r\n padding: 2px 9px;\r\n background: rgba(251, 191, 36, 0.1);\r\n border: 1px solid rgba(251, 191, 36, 0.25);\r\n border-radius: 100px;\r\n color: #fbbf24;\r\n font-weight: 600;\r\n}\r\n\r\n/* ── HAMBURGER ─────────────────────────────────── */\r\n.hamburger {\r\n display: none;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n gap: 5px;\r\n width: 38px;\r\n height: 38px;\r\n background: rgba(255, 255, 255, 0.06);\r\n border: 1px solid rgba(255, 255, 255, 0.1);\r\n border-radius: 9px;\r\n cursor: pointer;\r\n padding: 0;\r\n transition: background 0.2s ease;\r\n}\r\n\r\n.hamburger:hover {\r\n background: rgba(255, 255, 255, 0.1);\r\n}\r\n\r\n.hamburger span {\r\n display: block;\r\n width: 18px;\r\n height: 2px;\r\n background: #94a3b8;\r\n border-radius: 2px;\r\n transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\r\n transform-origin: center;\r\n}\r\n\r\n.hamburger--open span:nth-child(1) {\r\n transform: translateY(7px) rotate(45deg);\r\n}\r\n.hamburger--open span:nth-child(2) {\r\n opacity: 0;\r\n transform: scaleX(0);\r\n}\r\n.hamburger--open span:nth-child(3) {\r\n transform: translateY(-7px) rotate(-45deg);\r\n}\r\n\r\n/* ── MOBILE DRAWER ─────────────────────────────── */\r\n.mobile-drawer {\r\n overflow: hidden;\r\n max-height: 0;\r\n transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);\r\n background: rgba(3, 1, 15, 0.95);\r\n backdrop-filter: blur(22px);\r\n -webkit-backdrop-filter: blur(22px);\r\n border-top: 1px solid rgba(255, 255, 255, 0.055);\r\n}\r\n\r\n.mobile-drawer--open {\r\n max-height: 500px;\r\n}\r\n\r\n.mobile-nav {\r\n display: flex;\r\n flex-direction: column;\r\n padding: 16px 24px 8px;\r\n gap: 2px;\r\n}\r\n\r\n.mobile-nav-item {\r\n padding: 12px 14px;\r\n font-size: 15px;\r\n font-weight: 500;\r\n color: #94a3b8;\r\n text-decoration: none;\r\n border-radius: 10px;\r\n transition:\r\n color 0.2s ease,\r\n background 0.2s ease;\r\n}\r\n\r\n.mobile-nav-item:hover {\r\n color: #f8fafc;\r\n background: rgba(255, 255, 255, 0.055);\r\n}\r\n\r\n.mobile-nav-item--active {\r\n color: #a78bfa;\r\n background: rgba(124, 58, 237, 0.1);\r\n}\r\n\r\n.mobile-github-btn {\r\n display: flex;\r\n align-items: center;\r\n gap: 8px;\r\n margin: 8px 24px 24px;\r\n padding: 12px 18px;\r\n background: rgba(255, 255, 255, 0.055);\r\n border: 1px solid rgba(255, 255, 255, 0.1);\r\n border-radius: 10px;\r\n font-size: 14px;\r\n font-weight: 500;\r\n color: #e2e8f0;\r\n text-decoration: none;\r\n transition: background 0.2s ease;\r\n}\r\n\r\n.mobile-github-btn:hover {\r\n background: rgba(255, 255, 255, 0.09);\r\n}\r\n\r\n/* ── RESPONSIVE ────────────────────────────────── */\r\n@media (max-width: 1100px) {\r\n .header-inner {\r\n padding: 0 40px;\r\n }\r\n .header-nav {\r\n display: none;\r\n }\r\n .hamburger {\r\n display: flex;\r\n }\r\n}\r\n\r\n@media (max-width: 640px) {\r\n .header-inner {\r\n padding: 0 20px;\r\n }\r\n}\r\n\r\n@supports not (\r\n (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))\r\n) {\r\n .site-header--scrolled,\r\n .mobile-drawer {\r\n background: rgba(3, 1, 15, 0.96);\r\n border-color: rgba(255, 255, 255, 0.12);\r\n box-shadow: 0 12px 36px rgba(0, 0, 0, 0.38);\r\n }\r\n}\r\n",".react-calendar {\n width: 350px;\n max-width: 100%;\n background: white;\n border: 1px solid #a0a096;\n font-family: 'Arial', 'Helvetica', sans-serif;\n line-height: 1.125em;\n}\n\n.react-calendar--doubleView {\n width: 700px;\n}\n\n.react-calendar--doubleView .react-calendar__viewContainer {\n display: flex;\n margin: -0.5em;\n}\n\n.react-calendar--doubleView .react-calendar__viewContainer > * {\n width: 50%;\n margin: 0.5em;\n}\n\n.react-calendar,\n.react-calendar *,\n.react-calendar *:before,\n.react-calendar *:after {\n -moz-box-sizing: border-box;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n}\n\n.react-calendar button {\n margin: 0;\n border: 0;\n outline: none;\n}\n\n.react-calendar button:enabled:hover {\n cursor: pointer;\n}\n\n.react-calendar__navigation {\n display: flex;\n height: 44px;\n margin-bottom: 1em;\n}\n\n.react-calendar__navigation button {\n min-width: 44px;\n background: none;\n}\n\n.react-calendar__navigation button:disabled {\n background-color: #f0f0f0;\n}\n\n.react-calendar__navigation button:enabled:hover,\n.react-calendar__navigation button:enabled:focus {\n background-color: #e6e6e6;\n}\n\n.react-calendar__month-view__weekdays {\n text-align: center;\n text-transform: uppercase;\n font: inherit;\n font-size: 0.75em;\n font-weight: bold;\n}\n\n.react-calendar__month-view__weekdays__weekday {\n padding: 0.5em;\n}\n\n.react-calendar__month-view__weekNumbers .react-calendar__tile {\n display: flex;\n align-items: center;\n justify-content: center;\n font: inherit;\n font-size: 0.75em;\n font-weight: bold;\n}\n\n.react-calendar__month-view__days__day--weekend {\n color: #d10000;\n}\n\n.react-calendar__month-view__days__day--neighboringMonth,\n.react-calendar__decade-view__years__year--neighboringDecade,\n.react-calendar__century-view__decades__decade--neighboringCentury {\n color: #757575;\n}\n\n.react-calendar__year-view .react-calendar__tile,\n.react-calendar__decade-view .react-calendar__tile,\n.react-calendar__century-view .react-calendar__tile {\n padding: 2em 0.5em;\n}\n\n.react-calendar__tile {\n max-width: 100%;\n padding: 10px 6.6667px;\n background: none;\n text-align: center;\n font: inherit;\n font-size: 0.833em;\n}\n\n.react-calendar__tile:disabled {\n background-color: #f0f0f0;\n color: #ababab;\n}\n\n.react-calendar__month-view__days__day--neighboringMonth:disabled,\n.react-calendar__decade-view__years__year--neighboringDecade:disabled,\n.react-calendar__century-view__decades__decade--neighboringCentury:disabled {\n color: #cdcdcd;\n}\n\n.react-calendar__tile:enabled:hover,\n.react-calendar__tile:enabled:focus {\n background-color: #e6e6e6;\n}\n\n.react-calendar__tile--now {\n background: #ffff76;\n}\n\n.react-calendar__tile--now:enabled:hover,\n.react-calendar__tile--now:enabled:focus {\n background: #ffffa9;\n}\n\n.react-calendar__tile--hasActive {\n background: #76baff;\n}\n\n.react-calendar__tile--hasActive:enabled:hover,\n.react-calendar__tile--hasActive:enabled:focus {\n background: #a9d4ff;\n}\n\n.react-calendar__tile--active {\n background: #006edc;\n color: white;\n}\n\n.react-calendar__tile--active:enabled:hover,\n.react-calendar__tile--active:enabled:focus {\n background: #1087ff;\n}\n\n.react-calendar--selectRange .react-calendar__tile--hover {\n background-color: #e6e6e6;\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/build/static/js/main.314eff49.js b/build/static/js/main.314eff49.js deleted file mode 100644 index 9e19d06..0000000 --- a/build/static/js/main.314eff49.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! For license information please see main.314eff49.js.LICENSE.txt */ -(()=>{var e={788(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(a,s){function i(e){try{l(r.next(e))}catch(t){s(t)}}function o(e){try{l(r.throw(e))}catch(t){s(t)}}function l(e){e.done?a(e.value):new n(function(t){t(e.value)}).then(i,o)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=a(n(457));function i(e){let t,n,a,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"maxAge";const o=()=>r(this,void 0,void 0,function*(){if(void 0!==t)return;const o=o=>r(this,void 0,void 0,function*(){a=s.default();const r=o[1][i]-Date.now();return r<=0?(e.delete(o[0]),void a.resolve()):(t=o[0],n=setTimeout(()=>{e.delete(o[0]),a&&a.resolve()},r),"function"===typeof n.unref&&n.unref(),a.promise)});try{for(const t of e)yield o(t)}catch(l){}t=void 0}),l=e.set.bind(e);return e.set=(r,s)=>{e.has(r)&&e.delete(r);const i=l(r,s);return t&&t===r&&(t=void 0,void 0!==n&&(clearTimeout(n),n=void 0),void 0!==a&&(a.reject(void 0),a=void 0)),o(),i},o(),e}t.default=i,e.exports=i,e.exports.default=i},922(e,t,n){"use strict";const r=n(724),a=n(788),s=new WeakMap,i=new WeakMap,o=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.cacheKey,s=t.cache,o=void 0===s?new Map:s,l=t.maxAge;"number"===typeof l&&a(o);const c=function(){for(var t=arguments.length,r=new Array(t),a=0;a0&&void 0!==arguments[0]?arguments[0]:{};return(t,n,r)=>{const a=t[n];if("function"!==typeof a)throw new TypeError("The decorated value must be a function");delete r.value,delete r.writable,r.get=function(){if(!s.has(this)){const t=o(a,e);return s.set(this,t),t}return s.get(this)}}},o.clear=e=>{const t=i.get(e);if(!t)throw new TypeError("Can't clear a function that was not memoized!");if("function"!==typeof t.clear)throw new TypeError("The cache Map can't be cleared!");t.clear()},e.exports=o},724(e,t,n){"use strict";var r=n(897).default;const a=(e,t,n,r)=>{if("length"===n||"prototype"===n)return;if("arguments"===n||"caller"===n)return;const a=Object.getOwnPropertyDescriptor(e,n),i=Object.getOwnPropertyDescriptor(t,n);!s(a,i)&&r||Object.defineProperty(e,n,i)},s=function(e,t){return void 0===e||e.configurable||e.writable===t.writable&&e.enumerable===t.enumerable&&e.configurable===t.configurable&&(e.writable||e.value===t.value)},i=(e,t)=>"/* Wrapped ".concat(e,"*/\n").concat(t),o=Object.getOwnPropertyDescriptor(Function.prototype,"toString"),l=Object.getOwnPropertyDescriptor(Function.prototype.toString,"name");e.exports=function(e,t){let n=(arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}).ignoreNonConfigurable,s=void 0!==n&&n;const c=e.name;for(const r of Reflect.ownKeys(t))a(e,t,r,s);return((e,t)=>{const n=Object.getPrototypeOf(t);n!==Object.getPrototypeOf(e)&&Object.setPrototypeOf(e,n)})(e,t),((e,t,n)=>{const a=""===n?"":"with ".concat(n.trim(),"() "),s=i.bind(null,a,t.toString());Object.defineProperty(s,"name",l),Object.defineProperty(e,"toString",r(r({},o),{},{value:s}))})(e,t,c),e}},457(e){"use strict";e.exports=()=>{const e={};return e.promise=new Promise((t,n)=>{e.resolve=t,e.reject=n}),e}},730(e,t,n){"use strict";var r=n(43),a=n(853);function s(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n
\n\n );\n};\n\n// Usage\n\n
\n

Welcome!

\n

This is a glassmorphism popup.

\n
\n')}),(0,Ve.jsx)(So,{text:"// Glassmorphism Popup Component...",codeKey:"glassmorphismPopup",copiedStates:r,copyToClipboard:a,getGlassyClasses:n})]})]})},Po=()=>{const t=he(),n=p((0,e.useState)({}),2),r=n[0],a=n[1],s=function(){return"backdrop-filter backdrop-blur-lg bg-white bg-opacity-".concat(arguments.length>0&&void 0!==arguments[0]?arguments[0]:20," \n border border-white border-opacity-20 rounded-lg shadow-lg transition-all duration-300")},i=(e,t)=>{navigator.clipboard.writeText(e).then(()=>{a(e=>l(l({},e),{},{[t]:!0})),setTimeout(()=>a(e=>l(l({},e),{},{[t]:!1})),2e3)})};return(0,Ve.jsxs)(Ge,{children:[(0,Ve.jsxs)("button",{onClick:()=>t(-1),className:"mb-8 flex items-center ".concat(s(10)," px-4 py-2 hover:bg-white/40 transition-all duration-300 text-gray-100"),children:[(0,Ve.jsx)(Be,{size:20,className:"mr-2"}),"Back to Components"]}),(0,Ve.jsx)("h1",{className:"text-6xl font-bold mb-8 text-gray-100",children:"Glassmorphism Popup"}),(0,Ve.jsx)("p",{className:"text-xl mb-8 text-gray-100",children:"A customizable, glassmorphism-styled popup component for displaying modal content with adjustable blur and opacity effects."}),(0,Ve.jsxs)("div",{className:"".concat(s()," p-6 mb-14 relative"),children:[(0,Ve.jsx)("h2",{className:"text-3xl font-bold mb-4 text-gray-100",children:"Basic Usage"}),(0,Ve.jsx)("pre",{className:"bg-gray-800 text-white p-4 rounded-lg overflow-x-auto max-sm:text-[0.55rem]",children:'
\n \n \n
\n

Welcome!

\n

This is a glassmorphism popup.

\n
\n \n
'}),(0,Ve.jsx)(So,{text:'import React, { useState } from \'react\';\nimport { Popup } from \'./components\';\n\nfunction App() {\n const [isPopupOpen, setIsPopupOpen] = useState(false);\n\n const openPopup = () => setIsPopupOpen(true);\n const closePopup = () => setIsPopupOpen(false);\n\n return (\n
\n \n\n \n
\n

Welcome!

\n

This is a glassmorphism popup.

\n
\n \n
\n );\n}',codeKey:"basicUsage",copiedStates:r,copyToClipboard:i,getGlassyClasses:s})]}),(0,Ve.jsxs)("div",{className:"".concat(s()," p-6 mb-14"),children:[(0,Ve.jsx)("h2",{className:"text-3xl font-bold mb-4 text-gray-100",children:"Props"}),(0,Ve.jsx)("div",{className:"overflow-x-auto",children:(0,Ve.jsxs)("table",{className:"w-full",children:[(0,Ve.jsx)("thead",{children:(0,Ve.jsxs)("tr",{className:"bg-white bg-opacity-20",children:[(0,Ve.jsx)("th",{className:"text-left p-2",children:"Prop"}),(0,Ve.jsx)("th",{className:"text-left p-2",children:"Type"}),(0,Ve.jsx)("th",{className:"text-left p-2",children:"Default"}),(0,Ve.jsx)("th",{className:"text-left p-2",children:"Description"})]})}),(0,Ve.jsxs)("tbody",{children:[(0,Ve.jsxs)("tr",{children:[(0,Ve.jsx)("td",{className:"p-2",children:"isOpen"}),(0,Ve.jsx)("td",{className:"p-2",children:"boolean"}),(0,Ve.jsx)("td",{className:"p-2",children:"false"}),(0,Ve.jsx)("td",{className:"p-2",children:"Controls whether the popup is visible"})]}),(0,Ve.jsxs)("tr",{className:"bg-white bg-opacity-10",children:[(0,Ve.jsx)("td",{className:"p-2",children:"onClose"}),(0,Ve.jsx)("td",{className:"p-2",children:"function"}),(0,Ve.jsx)("td",{className:"p-2",children:"-"}),(0,Ve.jsx)("td",{className:"p-2",children:"Function to call when closing the popup"})]}),(0,Ve.jsxs)("tr",{children:[(0,Ve.jsx)("td",{className:"p-2",children:"bg"}),(0,Ve.jsx)("td",{className:"p-2",children:"string"}),(0,Ve.jsx)("td",{className:"p-2",children:"'#ffffff'"}),(0,Ve.jsx)("td",{className:"p-2",children:"Background color of the popup content"})]}),(0,Ve.jsxs)("tr",{className:"bg-white bg-opacity-10",children:[(0,Ve.jsx)("td",{className:"p-2",children:"textColor"}),(0,Ve.jsx)("td",{className:"p-2",children:"string"}),(0,Ve.jsx)("td",{className:"p-2",children:"'#000000'"}),(0,Ve.jsx)("td",{className:"p-2",children:"Text color of the popup content"})]}),(0,Ve.jsxs)("tr",{children:[(0,Ve.jsx)("td",{className:"p-2",children:"borderColor"}),(0,Ve.jsx)("td",{className:"p-2",children:"string"}),(0,Ve.jsx)("td",{className:"p-2",children:"'#000000'"}),(0,Ve.jsx)("td",{className:"p-2",children:"Border color of the popup"})]}),(0,Ve.jsxs)("tr",{className:"bg-white bg-opacity-10",children:[(0,Ve.jsx)("td",{className:"p-2",children:"opacity"}),(0,Ve.jsx)("td",{className:"p-2",children:"number"}),(0,Ve.jsx)("td",{className:"p-2",children:"0.5"}),(0,Ve.jsx)("td",{className:"p-2",children:"Opacity of the popup background"})]}),(0,Ve.jsxs)("tr",{children:[(0,Ve.jsx)("td",{className:"p-2",children:"blur"}),(0,Ve.jsx)("td",{className:"p-2",children:"number"}),(0,Ve.jsx)("td",{className:"p-2",children:"5"}),(0,Ve.jsx)("td",{className:"p-2",children:"Blur effect strength in pixels"})]})]})]})})]}),(0,Ve.jsx)("div",{className:"".concat(s()," p-6 mb-14"),children:(0,Ve.jsx)(Eo,{getGlassyClasses:s,copiedStates:r,copyToClipboard:i})})]})},Ao=["className","icon","iconPosition","onIconClick"],Oo=e=>{let t=e.className,n=void 0===t?"":t,r=e.icon,a=e.iconPosition,s=void 0===a?"right":a,i=e.onIconClick,o=Ae(e,Ao);const c="left"===s?"pl-10":"pr-10";return(0,Ve.jsxs)("div",{className:"relative",children:[(0,Ve.jsx)("input",l({className:"w-full px-4 py-2 rounded-lg outline-none transition-all duration-300 ".concat(c," ").concat(n)},o)),r&&(0,Ve.jsx)("span",{className:"absolute top-1/2 transform -translate-y-1/2 ".concat("left"===s?"left-3":"right-3"," cursor-pointer"),onClick:i,children:r})]})},Io=()=>{const t=he(),n=p((0,e.useState)({}),2),r=n[0],a=n[1],s=p((0,e.useState)("#ffffff"),2),i=s[0],o=(s[1],p((0,e.useState)("#000000"),2)),c=o[0],d=(o[1],p((0,e.useState)("#000000"),2)),u=d[0],h=(d[1],p((0,e.useState)(50),2)),m=h[0],f=(h[1],p((0,e.useState)(1),2)),g=f[0],x=(f[1],p((0,e.useState)(8),2)),v=x[0],b=(x[1],p((0,e.useState)(""),2)),y=b[0],w=b[1],j=function(){return"backdrop-filter backdrop-blur-lg bg-white bg-opacity-".concat(arguments.length>0&&void 0!==arguments[0]?arguments[0]:10," border border-white border-opacity-20 rounded-lg shadow-lg transition-all duration-300 max-sm:px-1")},N=e=>{let t=e.text,n=e.codeKey;const s=r[n];return(0,Ve.jsxs)("button",{onClick:()=>((e,t)=>{navigator.clipboard.writeText(e).then(()=>{a(e=>l(l({},e),{},{[t]:!0})),setTimeout(()=>a(e=>l(l({},e),{},{[t]:!1})),2e3)})})(t,n),className:"\n group absolute top-3 right-3\n flex items-center gap-2\n px-3 py-2\n rounded-xl\n border\n backdrop-blur-xl\n transition-all duration-300\n active:scale-95\n shadow-lg\n overflow-hidden\n\n ".concat(s?"bg-green-500/35 border-green-300 text-white shadow-[0_0_28px_rgba(34,197,94,0.75)]":"bg-white/10 border-white/20 text-white hover:bg-white/15 hover:border-white/30","\n "),children:[(0,Ve.jsx)("span",{className:"absolute inset-0 -translate-x-full group-hover:translate-x-full transition-transform duration-700 bg-gradient-to-r from-transparent via-white/40 to-transparent"}),(0,Ve.jsxs)("span",{className:"relative flex items-center gap-2",children:[(0,Ve.jsx)("span",{className:"\n flex items-center justify-center w-7 h-7 rounded-md\n transition-all duration-300\n\n ".concat(s?"bg-green-500 shadow-[0_0_22px_rgba(34,197,94,0.95)]":"","\n "),children:s?(0,Ve.jsx)(Le,{size:18,strokeWidth:3.4}):(0,Ve.jsx)(ze,{size:18,strokeWidth:3.4})}),(0,Ve.jsx)("span",{className:"text-sm font-medium tracking-wide",children:s?"Copied":"Copy"})]}),s&&(0,Ve.jsx)("span",{className:"absolute inset-0 rounded-xl bg-green-400/25 animate-pulse"})]})},k={backgroundColor:i,color:c,borderColor:u,borderWidth:"".concat(g,"px"),borderRadius:"".concat(v,"px"),opacity:m/100};(0,e.useEffect)(()=>{_()},[i,c,u,m,g,v]);const _=()=>{const e='}\n iconPosition="right"\n onIconClick={handleSearch}\n/>');w(e)};return(0,Ve.jsxs)(Ge,{children:[(0,Ve.jsx)("nav",{className:"mb-8 flex items-center justify-between relative z-10",children:(0,Ve.jsxs)("button",{onClick:()=>{t("/components")},className:"flex items-center ".concat(j()," px-4 py-2 hover:bg-opacity-20 text-white"),children:[(0,Ve.jsx)(Be,{size:20,className:"mr-2"}),"Back to Components"]})}),(0,Ve.jsx)("h1",{className:"text-6xl font-bold mb-8 text-white relative z-10",children:"Glassmorphic Input Component"}),(0,Ve.jsx)("p",{className:"text-xl mb-8 text-gray-100",children:"A customizable, glassmorphism-styled Input component."}),(0,Ve.jsxs)("section",{className:"".concat(j(20)," p-6 mb-8 text-white relative z-10"),children:[(0,Ve.jsx)("h2",{className:"text-3xl font-bold mb-4",children:"Basic Usage"}),(0,Ve.jsx)("div",{className:"".concat(j()," p-4 hover:shadow-xl mb-4"),children:(0,Ve.jsx)(Oo,{placeholder:"Enter text...",className:"".concat(j(20)," text-white placeholder-gray-500")})}),(0,Ve.jsxs)("pre",{className:"bg-gray-800 text-white p-4 rounded-lg overflow-x-auto relative max-sm:text-[0.55rem]",children:["import { Input } from './Input';",(0,Ve.jsx)(N,{text:"import { Input } from './Input';",codeKey:"basicUsage"})]})]}),(0,Ve.jsxs)("section",{className:"".concat(j(20)," p-6 mb-8 text-white relative z-10"),children:[(0,Ve.jsx)("h2",{className:"text-2xl font-bold mb-4",children:"Props"}),(0,Ve.jsx)("div",{className:"overflow-x-auto",children:(0,Ve.jsxs)("table",{className:"w-full",children:[(0,Ve.jsx)("thead",{children:(0,Ve.jsxs)("tr",{className:"bg-white bg-opacity-20",children:[(0,Ve.jsx)("th",{className:"text-left p-2",children:"Prop"}),(0,Ve.jsx)("th",{className:"text-left p-2",children:"Type"}),(0,Ve.jsx)("th",{className:"text-left p-2",children:"Default"}),(0,Ve.jsx)("th",{className:"text-left p-2",children:"Description"})]})}),(0,Ve.jsxs)("tbody",{children:[(0,Ve.jsxs)("tr",{children:[(0,Ve.jsx)("td",{className:"p-2",children:"className"}),(0,Ve.jsx)("td",{className:"p-2",children:"string"}),(0,Ve.jsx)("td",{className:"p-2",children:"''"}),(0,Ve.jsx)("td",{className:"p-2",children:"Additional CSS classes to apply to the input"})]}),(0,Ve.jsxs)("tr",{className:"bg-white bg-opacity-10",children:[(0,Ve.jsx)("td",{className:"p-2",children:"icon"}),(0,Ve.jsx)("td",{className:"p-2",children:"React.ReactNode"}),(0,Ve.jsx)("td",{className:"p-2",children:"undefined"}),(0,Ve.jsx)("td",{className:"p-2",children:"Icon to display inside the input"})]}),(0,Ve.jsxs)("tr",{children:[(0,Ve.jsx)("td",{className:"p-2",children:"iconPosition"}),(0,Ve.jsx)("td",{className:"p-2",children:"'left'| 'right'"}),(0,Ve.jsx)("td",{className:"p-2",children:"'right'"}),(0,Ve.jsx)("td",{className:"p-2",children:"Position of the icon inside the input"})]}),(0,Ve.jsxs)("tr",{className:"bg-white bg-opacity-10",children:[(0,Ve.jsx)("td",{className:"p-2",children:"onIconClick"}),(0,Ve.jsx)("td",{className:"p-2",children:"() => void"}),(0,Ve.jsx)("td",{className:"p-2",children:"undefined"}),(0,Ve.jsx)("td",{className:"p-2",children:"Function to call when the icon is clicked"})]})]})]})})]}),(0,Ve.jsxs)("section",{className:"".concat(j(20)," p-6 mb-8 text-white relative z-10"),children:[(0,Ve.jsx)("h2",{className:"text-2xl font-bold mb-4",children:"Custom Styling"}),(0,Ve.jsxs)("div",{className:"mb-12",children:[(0,Ve.jsxs)("h3",{className:"text-xl font-semibold mb-6 flex items-center",children:[(0,Ve.jsx)(io,{size:24,className:"mr-3"}),"Search Input Customization"]}),(0,Ve.jsxs)("div",{className:"".concat(j()," p-8 hover:shadow-xl rounded-xl"),children:[(0,Ve.jsx)("div",{className:"mb-8",children:(0,Ve.jsx)(Oo,{placeholder:"Customizable search...",className:"".concat(j(m)," text-lg"),style:k,icon:(0,Ve.jsx)(io,{size:24,color:c}),iconPosition:"right",onIconClick:()=>{alert("Search clicked")}})}),(0,Ve.jsxs)("div",{className:"mt-8",children:[(0,Ve.jsx)("h4",{className:"text-xl font-semibold mb-4",children:"Generated Code"}),(0,Ve.jsx)("pre",{className:"bg-gray-800 text-white p-4 rounded-lg overflow-x-auto",children:y}),(0,Ve.jsx)(N,{text:y,codeKey:"customStyling"})]})]})]})]})]})},Do=()=>{const t=p((0,e.useState)("blue"),2),n=t[0],r=t[1],a=e=>{switch(e){case"blue":return{bg:"#fefcd0",textColor:"black",borderColor:"black"};case"brown":return{bg:"#d2b48c",textColor:"black",borderColor:"black"};case"white":default:return{bg:"white",textColor:"black",borderColor:"black"};case"black":return{bg:"black",textColor:"white",borderColor:"white"};case"rainbow":return{bg:"linear-gradient(45deg, red, orange, yellow, green, blue, indigo, violet)",textColor:"white",borderColor:"white"}}},s=a(n);return(0,Ve.jsxs)("div",{className:"rounded-lg",children:[(0,Ve.jsx)("h2",{className:"text-3xl text-white font-bold mb-4",children:"Custom TextArea"}),(0,Ve.jsx)("p",{className:"text-gray-200 mb-4",children:"Customize your textarea's appearance by selecting a preset theme or creating your own color scheme."}),(0,Ve.jsxs)("div",{className:"mb-4",children:[(0,Ve.jsx)("label",{className:"block text-white mb-2",children:"Theme:"}),(0,Ve.jsx)("div",{className:"flex space-x-2",children:["blue","brown","white","black","rainbow"].map(e=>(0,Ve.jsx)("button",{className:"w-6 h-6 rounded-full ".concat(e===n?"ring-2 ring-offset-2 ring-blue-500":""),style:{background:"rainbow"===e?"linear-gradient(45deg, red, orange, yellow, green, blue, indigo, violet)":a(e).bg},onClick:()=>r(e)},e))})]}),(0,Ve.jsx)("textarea",{className:"w-full h-32 p-2 rounded",style:{backgroundColor:s.bg.includes("linear-gradient")?"transparent":s.bg,color:s.textColor,borderColor:s.borderColor,borderWidth:"1px",borderStyle:"solid",backgroundImage:s.bg.includes("linear-gradient")?s.bg:"none"},placeholder:"Enter your text here..."}),(0,Ve.jsx)("div",{className:"mt-4 bg-gray-800 p-2 rounded",children:(0,Ve.jsx)("pre",{className:"text-sm max-sm:text-[0.55rem]",children:"')})})]})},Fo=()=>{var t;const n=he(),r=(null===(t=de().state)||void 0===t?void 0:t.currentTheme)||"pink",a=p((0,e.useState)({}),2),s=a[0],i=a[1],o=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:20;const t="backdrop-filter backdrop-blur-md border border-opacity-20 rounded-lg shadow-lg hover:shadow-xl transition-all duration-300";switch(r){case"white":return"".concat(t," bg-gray-500 bg-opacity-").concat(e," border-gray-300 text-gray-100");case"black":return"".concat(t," bg-white bg-opacity-").concat(e," border-gray-600 text-white");case"brown":return"".concat(t," bg-white bg-opacity-").concat(e," border-yellow-300 text-white");default:return"".concat(t," bg-white bg-opacity-").concat(e," border-white text-white")}},c=e=>{let t=e.text,n=e.codeKey;return(0,Ve.jsx)("button",{onClick:()=>((e,t)=>{navigator.clipboard.writeText(e).then(()=>{i(e=>l(l({},e),{},{[t]:!0})),setTimeout(()=>i(e=>l(l({},e),{},{[t]:!1})),2e3)})})(t,n),className:"absolute top-4 right-4 ".concat(o()," p-2 hover:bg-opacity-20 transition-all duration-300"),title:"Copy to clipboard",children:s[n]?(0,Ve.jsx)(Le,{size:20}):(0,Ve.jsx)(ze,{size:20})})};return(0,Ve.jsxs)(Ge,{children:[(0,Ve.jsxs)("button",{onClick:()=>n(-1),className:"mb-8 flex items-center ".concat(o(10)," px-4 py-2 hover:bg-white/40 transition-all duration-300 text-gray-100"),children:[(0,Ve.jsx)(Be,{size:20,className:"mr-2"}),"Back to Components"]}),(0,Ve.jsx)("h1",{className:"text-6xl font-bold mb-8 text-white",children:"TextArea Component"}),(0,Ve.jsx)("p",{className:"text-xl mb-8 text-gray-100",children:"A customizable, glassmorphism-styled Text Area component."}),(0,Ve.jsxs)("div",{className:"".concat(o()," p-6 mb-14 relative"),children:[(0,Ve.jsx)("h2",{className:"text-3xl text-gray-100 font-bold mb-4",children:"Basic Usage"}),(0,Ve.jsx)("pre",{className:"bg-gray-800 text-white p-4 rounded-lg overflow-x-auto",children:'function App() {\n return (\n console.log(e.target.value)}\n />\n );\n}'}),(0,Ve.jsx)(c,{text:'function App() {\n return (\n console.log(e.target.value)}\n />\n );\n}',codeKey:"basicUsage"})]}),(0,Ve.jsxs)("div",{className:"".concat(o()," p-6 mb-14"),children:[(0,Ve.jsx)("h2",{className:"text-3xl text-gray-100 font-bold mb-4",children:"Props"}),(0,Ve.jsx)("div",{className:"overflow-x-auto text-gray-200",children:(0,Ve.jsxs)("table",{className:"w-full",children:[(0,Ve.jsx)("thead",{children:(0,Ve.jsxs)("tr",{className:"bg-white text-gray bg-opacity-20",children:[(0,Ve.jsx)("th",{className:"text-left p-2",children:"Prop"}),(0,Ve.jsx)("th",{className:"text-left p-2",children:"Type"}),(0,Ve.jsx)("th",{className:"text-left p-2",children:"Default"}),(0,Ve.jsx)("th",{className:"text-left p-2",children:"Description"})]})}),(0,Ve.jsxs)("tbody",{children:[(0,Ve.jsxs)("tr",{children:[(0,Ve.jsx)("td",{className:"p-2",children:"style"}),(0,Ve.jsx)("td",{className:"p-2",children:"CSSProperties"}),(0,Ve.jsx)("td",{className:"p-2"}),(0,Ve.jsx)("td",{className:"p-2",children:"Inline styles for the textarea"})]}),(0,Ve.jsxs)("tr",{className:"bg-white bg-opacity-10",children:[(0,Ve.jsx)("td",{className:"p-2",children:"className"}),(0,Ve.jsx)("td",{className:"p-2",children:"string"}),(0,Ve.jsx)("td",{className:"p-2",children:'""'}),(0,Ve.jsx)("td",{className:"p-2",children:"Additional CSS classes to apply to the textarea"})]}),(0,Ve.jsxs)("tr",{children:[(0,Ve.jsx)("td",{className:"p-2",children:"placeholder"}),(0,Ve.jsx)("td",{className:"p-2",children:"string"}),(0,Ve.jsx)("td",{className:"p-2",children:'""'}),(0,Ve.jsx)("td",{className:"p-2",children:"Placeholder text for the textarea"})]}),(0,Ve.jsxs)("tr",{className:"bg-white bg-opacity-10",children:[(0,Ve.jsx)("td",{className:"p-2",children:"onChange"}),(0,Ve.jsx)("td",{className:"p-2",children:"function"}),(0,Ve.jsx)("td",{className:"p-2",children:"undefined"}),(0,Ve.jsx)("td",{className:"p-2",children:"Function to call when the textarea value changes"})]})]})]})})]}),(0,Ve.jsx)("div",{className:"".concat(o()," p-6 text-gray-200 mb-14"),children:(0,Ve.jsx)(Do,{})}),(0,Ve.jsxs)("div",{className:"".concat(o()," p-6 mt-14"),children:[(0,Ve.jsx)("h2",{className:"text-3xl text-white font-bold",children:"Additional Examples"}),(0,Ve.jsx)("h3",{className:"text-xl text-gray-600 font-semibold mb-2",children:"With Custom Styling"}),(0,Ve.jsx)("div",{className:"".concat(o(10)," p-4 mb-6"),children:(0,Ve.jsx)("textarea",{className:"w-full h-32 p-2 bg-gray-100 bg-opacity-50 text-gray-100 border-2 border-gray-300 rounded-lg focus:outline-none focus:border-blue-500 transition-all duration-300",placeholder:"Type something..."})}),(0,Ve.jsx)("pre",{className:"bg-gray-800 text-white p-4 rounded-lg overflow-x-auto relative",children:""}),(0,Ve.jsx)(c,{text:"",codeKey:"customStyling"})]})]})},Ro=()=>{const e=he();return(0,Ve.jsxs)("div",{className:"notfound-root",children:[(0,Ve.jsx)("div",{className:"notfound-orb-1"}),(0,Ve.jsx)("div",{className:"notfound-orb-2"}),(0,Ve.jsxs)("div",{className:"notfound-card",children:[(0,Ve.jsx)("div",{className:"notfound-code",children:"404"}),(0,Ve.jsx)("h1",{className:"notfound-title",children:"Page not found"}),(0,Ve.jsx)("p",{className:"notfound-desc",children:"Sorry, we couldn't find the page you're looking for. It may have been moved, deleted, or never existed."}),(0,Ve.jsxs)("button",{className:"notfound-btn",onClick:()=>e("/"),children:["Back to Home ",(0,Ve.jsx)(Kt,{size:16})]})]})]})},Mo=t=>{let n=t.text,r=t.position,a=void 0===r?"top":r,s=t.delay,i=void 0===s?200:s,o=t.bgColor,l=void 0===o?"bg-white/10":o,c=t.textColor,d=void 0===c?"text-black":c,u=t.children;const h=p((0,e.useState)(!1),2),m=h[0],f=h[1],g=(0,e.useRef)(null),x=()=>{g.current=setTimeout(()=>{f(!0)},i)},v=()=>{g.current&&clearTimeout(g.current),f(!1)};return(0,Ve.jsxs)("div",{className:"relative inline-block",onMouseEnter:x,onMouseLeave:v,onFocus:x,onBlur:v,tabIndex:0,"aria-describedby":"tooltip",children:[u,m&&(0,Ve.jsxs)("div",{role:"tooltip",id:"tooltip",className:"absolute z-50 px-4 py-2 text-sm whitespace-nowrap ".concat((()=>{switch(a){case"top":default:return"bottom-full left-1/2 transform -translate-x-1/2 mb-3";case"bottom":return"top-full left-1/2 transform -translate-x-1/2 mt-3";case"left":return"top-1/2 right-full transform -translate-y-1/2 mr-3";case"right":return"top-1/2 left-full transform -translate-y-1/2 ml-3"}})()," ").concat("\n backdrop-blur-md\n ".concat(l,"\n ").concat(d,"\n border border-white/20\n rounded-xl\n shadow-xl\n transition-all duration-300\n animate-fadeIn\n ")),children:[n,(0,Ve.jsx)("div",{className:"".concat((()=>{switch(a){case"top":return"absolute left-1/2 top-full -translate-x-1/2 w-3 h-3 rotate-45";case"bottom":return"absolute left-1/2 bottom-full -translate-x-1/2 w-3 h-3 rotate-45";case"left":return"absolute left-full top-1/2 -translate-y-1/2 w-3 h-3 rotate-45";case"right":return"absolute right-full top-1/2 -translate-y-1/2 w-3 h-3 rotate-45";default:return""}})()," ").concat(l)})]})]})},Lo=()=>{const t=he(),n=p((0,e.useState)({}),2),r=n[0],a=n[1],s=function(){return"backdrop-filter backdrop-blur-lg bg-white bg-opacity-".concat(arguments.length>0&&void 0!==arguments[0]?arguments[0]:20," \n border border-white border-opacity-20 rounded-lg shadow-lg transition-all duration-300")},i=e=>{let t=e.text,n=e.codeKey;return(0,Ve.jsx)("button",{onClick:()=>((e,t)=>{navigator.clipboard.writeText(e).then(()=>{a(e=>l(l({},e),{},{[t]:!0})),setTimeout(()=>a(e=>l(l({},e),{},{[t]:!1})),2e3)})})(t,n),className:"absolute top-2 right-2 ".concat(s()," p-2 hover:bg-white/40 transition-all duration-300 z-10"),title:"Copy to clipboard",children:r[n]?(0,Ve.jsx)(Le,{size:16,className:"text-green-600"}):(0,Ve.jsx)(ze,{size:16,className:"text-gray-100"})})},o='const getGlassyClasses = () => \'backdrop-filter backdrop-blur-xl bg-white/30 border border-white/20 rounded-xl shadow-lg transition-all duration-300\';\n\nfunction Example() {\n return (\n \n \n \n );\n}',c='\n \n',d='\n \n',u='\n \n',h='\n \n',m='\n \n';return(0,Ve.jsxs)(Ge,{children:[(0,Ve.jsxs)("button",{onClick:()=>t(-1),className:"mb-8 flex items-center ".concat(s(10)," px-4 py-2 hover:bg-white/40 transition-all duration-300 text-gray-100"),children:[(0,Ve.jsx)(Be,{size:20,className:"mr-2"}),"Back to Components"]}),(0,Ve.jsx)("h1",{className:"text-6xl font-bold mb-8 text-white",children:"Tooltip"}),(0,Ve.jsx)("p",{className:"text-xl mb-8 text-gray-100",children:"A customizable, glassmorphism styled tooltip component."}),(0,Ve.jsxs)("div",{className:"".concat(s()," p-8 mb-8 relative"),children:[(0,Ve.jsx)("h2",{className:"text-3xl font-bold mb-6 text-gray-100",children:"Basic Usage"}),(0,Ve.jsxs)("div",{className:"relative",children:[(0,Ve.jsx)("pre",{className:"bg-gray-800 text-white p-6 rounded-lg overflow-x-auto whitespace-pre-wrap max-sm:text-[0.55rem]",children:o}),(0,Ve.jsx)(i,{text:o,codeKey:"basicUsage"})]})]}),(0,Ve.jsxs)("div",{className:"".concat(s()," p-8 mb-8"),children:[(0,Ve.jsx)("h2",{className:"text-3xl font-bold mb-6 text-gray-100",children:"Props"}),(0,Ve.jsx)("div",{className:"overflow-x-auto",children:(0,Ve.jsxs)("table",{className:"w-full",children:[(0,Ve.jsx)("thead",{children:(0,Ve.jsxs)("tr",{className:"bg-white bg-opacity-20",children:[(0,Ve.jsx)("th",{className:"text-left p-2 text-gray-100",children:"Prop"}),(0,Ve.jsx)("th",{className:"text-left p-2 text-gray-100",children:"Type"}),(0,Ve.jsx)("th",{className:"text-left p-2 text-gray-100",children:"Default"}),(0,Ve.jsx)("th",{className:"text-left p-2 text-gray-100",children:"Description"})]})}),(0,Ve.jsxs)("tbody",{children:[(0,Ve.jsxs)("tr",{children:[(0,Ve.jsx)("td",{className:"p-2 text-gray-300",children:"text"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-300",children:"string"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-300",children:"-"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-300",children:"The text to display inside the tooltip"})]}),(0,Ve.jsxs)("tr",{className:"bg-white bg-opacity-10",children:[(0,Ve.jsx)("td",{className:"p-2 text-gray-300",children:"position"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-300",children:"string"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-300",children:"top"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-300",children:"Tooltip position (top, bottom, left, right)"})]}),(0,Ve.jsxs)("tr",{children:[(0,Ve.jsx)("td",{className:"p-2 text-gray-300",children:"delay"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-300",children:"number"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-300",children:"200"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-300",children:"Delay before showing tooltip"})]}),(0,Ve.jsxs)("tr",{className:"bg-white bg-opacity-10",children:[(0,Ve.jsx)("td",{className:"p-2 text-gray-300",children:"bgColor"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-300",children:"string"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-300",children:"bg-white/10"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-300",children:"Custom background color"})]}),(0,Ve.jsxs)("tr",{children:[(0,Ve.jsx)("td",{className:"p-2 text-gray-300",children:"textColor"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-300",children:"string"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-300",children:"text-black"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-300",children:"Custom text color"})]})]})]})})]}),(0,Ve.jsxs)("div",{className:"".concat(s()," p-8 mb-8"),children:[(0,Ve.jsx)("h2",{className:"text-3xl font-bold mb-6 text-gray-100",children:"Tooltip Positions"}),(0,Ve.jsx)("p",{className:"mb-6 text-lg text-gray-300",children:"Display tooltips in different positions around the element."}),(0,Ve.jsxs)("div",{className:"flex justify-around py-12 flex-wrap gap-4",children:[(0,Ve.jsx)(Mo,{text:"Tooltip on top!",position:"top",children:(0,Ve.jsx)("button",{className:"".concat(s()," px-4 py-2"),children:"Top"})}),(0,Ve.jsx)(Mo,{text:"Tooltip on bottom!",position:"bottom",children:(0,Ve.jsx)("button",{className:"".concat(s()," px-4 py-2"),children:"Bottom"})}),(0,Ve.jsx)(Mo,{text:"Tooltip on left!",position:"left",children:(0,Ve.jsx)("button",{className:"".concat(s()," px-4 py-2"),children:"Left"})}),(0,Ve.jsx)(Mo,{text:"Tooltip on right!",position:"right",children:(0,Ve.jsx)("button",{className:"".concat(s()," px-4 py-2"),children:"Right"})})]}),(0,Ve.jsxs)("div",{className:"relative mt-8",children:[(0,Ve.jsx)("pre",{className:"bg-gray-800 text-white p-6 rounded-lg overflow-x-auto whitespace-pre-wrap max-sm:text-[0.55rem]",children:c}),(0,Ve.jsx)(i,{text:c,codeKey:"topTooltip"})]}),(0,Ve.jsxs)("div",{className:"relative mt-8",children:[(0,Ve.jsx)("pre",{className:"bg-gray-800 text-white p-6 rounded-lg overflow-x-auto whitespace-pre-wrap max-sm:text-[0.55rem]",children:d}),(0,Ve.jsx)(i,{text:d,codeKey:"bottomTooltip"})]}),(0,Ve.jsxs)("div",{className:"relative mt-8",children:[(0,Ve.jsx)("pre",{className:"bg-gray-800 text-white p-6 rounded-lg overflow-x-auto whitespace-pre-wrap max-sm:text-[0.55rem]",children:u}),(0,Ve.jsx)(i,{text:u,codeKey:"leftTooltip"})]}),(0,Ve.jsxs)("div",{className:"relative mt-8",children:[(0,Ve.jsx)("pre",{className:"bg-gray-800 text-white p-6 rounded-lg overflow-x-auto whitespace-pre-wrap max-sm:text-[0.55rem]",children:h}),(0,Ve.jsx)(i,{text:h,codeKey:"rightTooltip"})]}),(0,Ve.jsxs)("div",{className:"mt-12",children:[(0,Ve.jsx)("h2",{className:"text-3xl font-bold mb-6 text-gray-100",children:"Advanced Tooltip Example"}),(0,Ve.jsx)("div",{className:"flex justify-center py-8",children:(0,Ve.jsx)(Mo,{text:"Advanced Tooltip!",position:"top",delay:500,bgColor:"bg-blue-500/20",textColor:"text-white",children:(0,Ve.jsx)("button",{className:"".concat(s()," px-4 py-2"),children:"Advanced Tooltip"})})}),(0,Ve.jsxs)("div",{className:"relative mt-8",children:[(0,Ve.jsx)("pre",{className:"bg-gray-800 text-white p-6 rounded-lg overflow-x-auto whitespace-pre-wrap max-sm:text-[0.55rem]",children:m}),(0,Ve.jsx)(i,{text:m,codeKey:"advancedTooltip"})]})]})]})]})},zo=Me("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);function Bo(t){let n=t.direction,r=t.actionButtons;const a=p((0,e.useState)(!1),2),s=a[0],i=a[1];return(0,Ve.jsxs)("div",{onMouseLeave:()=>i(!1),className:"relative mb-3 flex w-fit items-center gap-3 ".concat("up"===n||"down"===n?"flex-col":"flex-row"),children:[(0,Ve.jsx)("button",{onMouseEnter:()=>i(!0),className:"".concat("backdrop-filter backdrop-blur-md bg-white/30 border border-white/20 rounded-xl shadow-lg"," order-0 order-1 flex items-center p-3 text-gray-800 transition-all duration-300 hover:bg-slate-100"),children:(0,Ve.jsx)(zo,{size:20})}),(0,Ve.jsx)("div",{className:"".concat(s?"scale-100 opacity-100":"scale-0 opacity-0"," flex items-center gap-3 transition-all duration-500 ease-in-out ").concat((()=>{switch(n){case"up":return"origin-bottom flex-col order-0";case"down":return"origin-top flex-col order-2";case"left":return"origin-right order-0";case"right":return"origin-left order-2";default:return""}})()),children:r.map((e,t)=>(0,Ve.jsx)("button",{onClick:e.action,className:"".concat("backdrop-filter backdrop-blur-md bg-white/30 border border-white/20 rounded-xl shadow-lg"," flex items-center p-3 text-gray-800 transition-all duration-300 hover:bg-slate-100"),children:e.icon},t))})]})}function Uo(e){return po({tag:"svg",attr:{viewBox:"0 0 320 512"},child:[{tag:"path",attr:{d:"M279.14 288l14.22-92.66h-88.91v-60.13c0-25.35 12.42-50.06 52.24-50.06h40.42V6.26S260.43 0 225.36 0c-73.22 0-121.08 44.38-121.08 124.72v70.62H22.89V288h81.39v224h100.17V288z"}}]})(e)}function Vo(e){return po({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"}}]})(e)}function Wo(e){return po({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M100.28 448H7.4V148.9h92.88zM53.79 108.1C24.09 108.1 0 83.5 0 53.8a53.79 53.79 0 0 1 107.58 0c0 29.7-24.1 54.3-53.79 54.3zM447.9 448h-92.68V302.4c0-34.7-.7-79.2-48.29-79.2-48.29 0-55.69 37.7-55.69 76.7V448h-92.78V148.9h89.08v40.8h1.3c12.4-23.5 42.69-48.3 87.88-48.3 94 0 111.28 61.9 111.28 142.3V448z"}}]})(e)}function Ho(e){return po({tag:"svg",attr:{viewBox:"0 0 384 512"},child:[{tag:"path",attr:{d:"M336 64h-80c0-35.3-28.7-64-64-64s-64 28.7-64 64H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM192 40c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm121.2 231.8l-143 141.8c-4.7 4.7-12.3 4.6-17-.1l-82.6-83.3c-4.7-4.7-4.6-12.3.1-17L99.1 285c4.7-4.7 12.3-4.6 17 .1l46 46.4 106-105.2c4.7-4.7 12.3-4.6 17 .1l28.2 28.4c4.7 4.8 4.6 12.3-.1 17z"}}]})(e)}function Go(e){return po({tag:"svg",attr:{viewBox:"0 0 384 512"},child:[{tag:"path",attr:{d:"M384 112v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h80c0-35.29 28.71-64 64-64s64 28.71 64 64h80c26.51 0 48 21.49 48 48zM192 40c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24m96 114v-20a6 6 0 0 0-6-6H102a6 6 0 0 0-6 6v20a6 6 0 0 0 6 6h180a6 6 0 0 0 6-6z"}}]})(e)}function Ko(e){return po({tag:"svg",attr:{viewBox:"0 0 496 512"},child:[{tag:"path",attr:{d:"M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"}}]})(e)}function qo(e){return po({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z"}}]})(e)}const $o=function(){return"backdrop-filter backdrop-blur-lg bg-white bg-opacity-".concat(arguments.length>0&&void 0!==arguments[0]?arguments[0]:10," \nborder border-white border-opacity-20 rounded-lg shadow-lg transition-all duration-300")},Zo=t=>{let n=t.text,r=t.codeKey;const a=p((0,e.useState)({}),2),s=a[0],i=a[1];return(0,Ve.jsx)("button",{onClick:()=>((e,t,n)=>{navigator.clipboard.writeText(e).then(()=>{n(e=>l(l({},e),{},{[t]:!0})),setTimeout(()=>n(e=>l(l({},e),{},{[t]:!1})),2e3)})})(n,r,i),className:"absolute top-2 right-2 ".concat($o()," p-2 hover:bg-white/40 transition-all duration-300 z-10"),"aria-label":"Copy to clipboard",children:s[r]?(0,Ve.jsx)(Le,{size:16,className:"text-green-600"}):(0,Ve.jsx)(ze,{size:16,className:"text-gray-100"})})},Yo=()=>{const e=he(),t='\n const getGlassyClasses = () => \'backdrop-filter backdrop-blur-xl bg-white/30 border border-white/20 rounded-xl shadow-lg transition-all duration-300\';\n\n function Example () {\n return \n ,\n label: "Facebook",\n key: "facebook",\n action: () => {\n window.open("https://www.facebook.com", "_blank");\n },\n },\n {\n other icons objects of your wish...\n }\n ]}\n />\n \n }\n ',n='\n ,\n label: "Facebook",\n key: "facebook",\n action: () => {\n window.open("https://www.facebook.com", "_blank");\n },\n },\n {\n icon: ,\n label: "Twitter",\n key: "twitter",\n action: () => {\n window.open("https://www.twitter.com", "_blank");\n },\n },\n {\n icon: ,\n label: "LinkedIn",\n key: "linkedin",\n action: () => {\n window.open("https://www.linkedin.com", "_blank");\n },\n },\n {\n icon: ,\n label: "Instagram",\n key: "instagram",\n action: () => {\n window.open("https://www.instagram.com", "_blank");\n },\n },\n ]}\n />\n\n ',r='\n ,\n label: "Facebook",\n key: "facebook",\n action: () => {\n window.open("https://www.facebook.com", "_blank");\n },\n },\n {\n icon: ,\n label: "Twitter",\n key: "twitter",\n action: () => {\n window.open("https://www.twitter.com", "_blank");\n },\n },\n {\n icon: ,\n label: "LinkedIn",\n key: "linkedin",\n action: () => {\n window.open("https://www.linkedin.com", "_blank");\n },\n },\n {\n icon: ,\n label: "Instagram",\n key: "instagram",\n action: () => {\n window.open("https://www.instagram.com", "_blank");\n },\n },\n ]}\n />';return(0,Ve.jsxs)(Ge,{children:[(0,Ve.jsxs)("button",{onClick:()=>e(-1),className:"mb-8 flex items-center ".concat($o()," px-4 py-2 hover:bg-white/40 transition-all duration-300 text-gray-100"),children:[(0,Ve.jsx)(Be,{size:20,className:"mr-2"}),"Back to Components"]}),(0,Ve.jsx)("h1",{className:"text-6xl font-bold mb-8 text-white",children:"Speed Dial"}),(0,Ve.jsx)("p",{className:"text-xl mb-8 text-gray-100",children:"A customizable, glassmorphism-styled Speed Dial component."}),(0,Ve.jsxs)("div",{className:"".concat($o(20)," p-6 mb-14 relative"),children:[(0,Ve.jsx)("h2",{className:"text-3xl font-bold mb-4 text-gray-100",children:"Basic Usage"}),(0,Ve.jsxs)("div",{className:"relative mb-4",children:[(0,Ve.jsx)("pre",{className:"bg-gray-800 text-white p-4 rounded-lg overflow-x-auto whitespace-pre-wrap max-sm:p-2 max-sm:text-[0.55rem]",children:t}),(0,Ve.jsx)(Zo,{text:t,codeKey:"basicUsage"})]})]}),(0,Ve.jsxs)("div",{className:"".concat($o(20)," p-6 mb-14"),children:[(0,Ve.jsx)("h2",{className:"text-3xl font-bold mb-6 text-gray-100",children:"Props"}),(0,Ve.jsx)("div",{className:"overflow-x-auto",children:(0,Ve.jsxs)("table",{className:"w-full",children:[(0,Ve.jsx)("thead",{children:(0,Ve.jsxs)("tr",{className:"bg-white bg-opacity-20",children:[(0,Ve.jsx)("th",{className:"text-left p-2 text-gray-100",children:"Prop"}),(0,Ve.jsx)("th",{className:"text-left p-2 text-gray-100",children:"Type"}),(0,Ve.jsx)("th",{className:"text-left p-2 text-gray-100",children:"Default"}),(0,Ve.jsx)("th",{className:"text-left p-2 text-gray-100",children:"Description"})]})}),(0,Ve.jsxs)("tbody",{children:[(0,Ve.jsxs)("tr",{children:[(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"direction"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"string"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"-"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:'The direction of the speed dial. Can be "up", "down", "left", or "right"'})]}),(0,Ve.jsxs)("tr",{className:"bg-white bg-opacity-10",children:[(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"actionButtons"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"array"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"-"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"An array of objects containing the icon, label, key, and action."})]})]})]})})]}),(0,Ve.jsxs)("div",{className:"".concat($o(20)," p-6 mb-14 relative"),children:[(0,Ve.jsx)("h2",{className:"text-3xl font-bold mb-6 text-gray-100",children:"Speed Dial: Right"}),(0,Ve.jsxs)("div",{className:"relative mb-4",children:[(0,Ve.jsx)(Bo,{direction:"right",actionButtons:[{icon:(0,Ve.jsx)(Uo,{size:20}),label:"Facebook",key:"facebook",action:()=>{window.open("https://www.facebook.com","_blank")}},{icon:(0,Ve.jsx)(qo,{size:20}),label:"Twitter",key:"twitter",action:()=>{window.open("https://www.twitter.com","_blank")}},{icon:(0,Ve.jsx)(Wo,{size:20}),label:"LinkedIn",key:"linkedin",action:()=>{window.open("https://www.linkedin.com","_blank")}},{icon:(0,Ve.jsx)(Vo,{size:20}),label:"Instagram",key:"instagram",action:()=>{window.open("https://www.instagram.com","_blank")}}]}),(0,Ve.jsx)("pre",{className:"bg-gray-800 text-white p-6 rounded-lg overflow-x-auto whitespace-pre-wrap max-sm:p-2 max-sm:text-[0.55rem]",children:n}),(0,Ve.jsx)(Zo,{text:n,codeKey:"speedDialRight"})]})]}),(0,Ve.jsxs)("div",{className:"".concat($o(20)," p-6 mb-8 relative"),children:[(0,Ve.jsx)("h2",{className:"text-3xl font-bold mb-6 text-gray-100",children:"Speed Dial: Up"}),(0,Ve.jsxs)("div",{className:"relative mb-4",children:[(0,Ve.jsx)(Bo,{direction:"up",actionButtons:[{icon:(0,Ve.jsx)(Uo,{size:20}),label:"Facebook",key:"facebook",action:()=>{window.open("https://www.facebook.com","_blank")}},{icon:(0,Ve.jsx)(qo,{size:20}),label:"Twitter",key:"twitter",action:()=>{window.open("https://www.twitter.com","_blank")}},{icon:(0,Ve.jsx)(Wo,{size:20}),label:"LinkedIn",key:"linkedin",action:()=>{window.open("https://www.linkedin.com","_blank")}},{icon:(0,Ve.jsx)(Vo,{size:20}),label:"Instagram",key:"instagram",action:()=>{window.open("https://www.instagram.com","_blank")}}]}),(0,Ve.jsx)("pre",{className:"bg-gray-800 text-white p-6 rounded-lg overflow-x-auto whitespace-pre-wrap max-sm:p-2 max-sm:text-[0.55rem]",children:r}),(0,Ve.jsx)(Zo,{text:r,codeKey:"speedDialRight"})]})]})]})},Xo=function(){return"backdrop-filter backdrop-blur-lg bg-white bg-opacity-".concat(arguments.length>0&&void 0!==arguments[0]?arguments[0]:20," \nborder border-white border-opacity-20 rounded-lg shadow-lg transition-all duration-300")},Jo=t=>{const n=t.imageUrl,r=t.heading,a=t.paragraph,s=t.CTA,i=t.unmount,o=t.onCtaClick;return(0,e.useEffect)(()=>{const e=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=e}},[]),(0,Ve.jsx)("div",{className:" w-[35vw] h-[40vh] fixed z-10 mt-9 top-15 left-10 bg-opacity-50 backdrop-blur-sm flex items-center justify-center bg-black/20",children:(0,Ve.jsxs)("div",{className:" min-w-[30vw] relative h-auto min-h-[30vh] flex flex-col items-center justify-center gap-6 p-4 backdrop-filter backdrop-blur-xl bg-white/50 border border-white/20 rounded-xl shadow-lg transition-all duration-300",children:[(0,Ve.jsx)(st,{className:"absolute top-4 right-4 hover:bg-white/80 transition-colors p-1 cursor-pointer",onClick:i}),(0,Ve.jsx)("h1",{className:"text-black text-2xl font-bold",children:r}),n&&(0,Ve.jsx)("img",{src:t.imageUrl,alt:"",className:"w-[80%] h-[20vw] object-cover"}),(0,Ve.jsx)("p",{className:"text-black",children:a}),(0,Ve.jsx)("button",{onClick:o,className:"px-3 py-1 rounded hover:bg-opacity-50 font-medium text-gray-100 transition-colors duration-300",style:{backgroundColor:s.color},children:s.text})]})})},Qo=()=>{const t=he(),n=p((0,e.useState)(null),2),r=n[0],a=n[1],s=p((0,e.useState)(!1),2),i=(s[0],s[1]),o='type ModalProps = {\n imageUrl?: string\n heading: string\n paragraph: string\n bgColor?: string\n CTA: { text: string; color: string } // button text and colors\n unmount: () => void\n onCtaClick?: (props: any) => void\n};\n\nconst Modal: React.FC = (props) => {\n const { imageUrl, heading, paragraph, CTA, unmount, onCtaClick, bgColor } = props\n return (\n
\n
\n \n

{heading}

\n {imageUrl && image}\n

{paragraph}

\n \n
\n
\n );\n};\n';function l(){const t=p((0,e.useState)(!1),2),n=t[0],r=t[1];return(0,Ve.jsxs)(Ve.Fragment,{children:[(0,Ve.jsx)("button",{onClick:()=>r(!0),children:"Open Modal"}),n&&(0,Ve.jsx)(Jo,{heading:"This is a heading",paragraph:"This is a paragraph",CTA:{text:"Save",color:"#00dd43"},imageUrl:"",unmount:()=>r(!1)})]})}const c=e=>{let t=e.text;e.codeKey;return(0,Ve.jsx)("button",{onClick:()=>(e=>{navigator.clipboard.writeText(e).then(()=>{a(e),setTimeout(()=>a(null),2e3)})})(t),className:"absolute top-2 right-2 ".concat(Xo()," p-2 hover:bg-white/40 transition-all duration-300 z-10"),title:"Copy to clipboard",children:r?(0,Ve.jsx)(Le,{size:16,className:"text-green-600"}):(0,Ve.jsx)(ze,{size:16,className:"text-gray-100"})})};return(0,Ve.jsxs)(Ge,{children:[(0,Ve.jsxs)("button",{onClick:()=>t(-1),className:"mb-8 flex items-center ".concat(Xo(10)," px-4 py-2 hover:bg-white/40 transition-all duration-300 text-gray-100"),children:[(0,Ve.jsx)(Be,{size:20,className:"mr-2"}),"Back to Components"]}),(0,Ve.jsx)("h1",{className:"text-6xl font-bold mb-8 text-white",children:"Glassy Modal"}),(0,Ve.jsx)("p",{className:"text-xl mb-8 text-gray-100",children:"A customizable, glassmorphism styled Modal component."}),(0,Ve.jsxs)("div",{className:"".concat(Xo()," p-6 mb-14 relative"),children:[(0,Ve.jsx)("h2",{className:"text-3xl font-bold mb-6 text-gray-100",children:"Basic Usage"}),(0,Ve.jsx)("button",{onClick:()=>i(!0),className:"mb-8 flex items-center ".concat(Xo()," px-4 py-2 hover:bg-white/40 transition-all duration-300 text-gray-100"),children:"Open Modal"}),(0,Ve.jsxs)("div",{className:"relative",children:[(0,Ve.jsx)("pre",{className:"bg-gray-800 text-white p-6 rounded-lg overflow-x-auto whitespace-pre-wrap max-sm:text-[0.55rem]",children:o}),(0,Ve.jsx)(c,{text:o,codeKey:"basicUsage"})]})]}),(0,Ve.jsxs)("div",{className:"".concat(Xo()," p-6 mb-14"),children:[(0,Ve.jsx)("h2",{className:"text-3xl font-bold mb-6 text-gray-100",children:"Props"}),(0,Ve.jsxs)("table",{className:"w-full",children:[(0,Ve.jsx)("thead",{children:(0,Ve.jsxs)("tr",{className:"bg-white bg-opacity-20",children:[(0,Ve.jsx)("th",{className:"text-left p-2 text-gray-100",children:"Prop"}),(0,Ve.jsx)("th",{className:"text-left p-2 text-gray-100",children:"Type"}),(0,Ve.jsx)("th",{className:"text-left p-2 text-gray-100",children:"Default"}),(0,Ve.jsx)("th",{className:"text-left p-2 text-gray-100",children:"Description"})]})}),(0,Ve.jsxs)("tbody",{children:[(0,Ve.jsxs)("tr",{children:[(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"heading"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"string"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"-"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"The heading of the modal"})]}),(0,Ve.jsxs)("tr",{className:"bg-white bg-opacity-10",children:[(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"paragraph"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"string"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"-"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"The paragraph of the modal"})]}),(0,Ve.jsxs)("tr",{children:[(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"CTA"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"object"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"-"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"The call to action button with text and color to be displayed"})]}),(0,Ve.jsxs)("tr",{className:"bg-white bg-opacity-10",children:[(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"unmount"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"function"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"-"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"The method to unmount the modal or change the state of the parent component"})]}),(0,Ve.jsxs)("tr",{children:[(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"bgColor"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"string"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"-"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"The background color of the modal"})]}),(0,Ve.jsxs)("tr",{className:"bg-white bg-opacity-10",children:[(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"imageUrl"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"string"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"-"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"Optional. The url for the image to be displayed"})]}),(0,Ve.jsxs)("tr",{children:[(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"onCtaClick"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"function"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"-"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"Optional. Function that invokes when someone clicks CTA"})]})]})]})]}),(0,Ve.jsx)("div",{className:"".concat(Xo()," p-6 mb-16"),children:(0,Ve.jsx)(l,{})}),(0,Ve.jsxs)("div",{children:[(0,Ve.jsx)("div",{className:"h-14"}),(0,Ve.jsx)("div",{className:"h-14"}),(0,Ve.jsx)("div",{className:"h-14"})]})]})},el=Me("Menu",[["line",{x1:"4",x2:"20",y1:"12",y2:"12",key:"1e0a9i"}],["line",{x1:"4",x2:"20",y1:"6",y2:"6",key:"1owob3"}],["line",{x1:"4",x2:"20",y1:"18",y2:"18",key:"yk5zj1"}]]),tl=function(){return"backdrop-filter backdrop-blur-lg bg-white bg-opacity-".concat(arguments.length>0&&void 0!==arguments[0]?arguments[0]:20," \nborder border-white border-opacity-20 rounded-lg shadow-lg transition-all duration-300")},nl=()=>{var t;const n=he(),r=de(),a=p((0,e.useState)(null),2),s=a[0],i=a[1],o=p((0,e.useState)(!1),2),l=o[0],c=o[1],d=p((0,e.useState)("Home"),2),u=d[0],h=d[1],m=(null===(t=r.state)||void 0===t?void 0:t.fromPage)||1,f=e=>{let t=e.text;e.codeKey;return(0,Ve.jsx)("button",{onClick:()=>(e=>{navigator.clipboard.writeText(e).then(()=>{i(e),setTimeout(()=>i(null),2e3)})})(t),className:"absolute top-2 right-2 ".concat(tl()," p-2 hover:bg-white/40 transition-all duration-300 z-10"),title:"Copy to clipboard",children:s?(0,Ve.jsx)(Le,{size:16,className:"text-green-600"}):(0,Ve.jsx)(ze,{size:16,className:"text-gray-800"})})};const g=function(){const e=e=>u===e?"bg-pink-300 text-pink-600":"";return'\n \n ')}();return(0,Ve.jsxs)(Ge,{children:[(0,Ve.jsxs)("button",{onClick:()=>n("/components",{state:{returnPage:m}}),className:"mb-8 flex items-center ".concat(tl()," px-4 py-2 hover:bg-white/40 transition-all duration-300 text-gray-100"),children:[(0,Ve.jsx)(Be,{size:20,className:"mr-2"}),"Back to Components"]}),(0,Ve.jsx)("h1",{className:"text-6xl font-bold mb-8 text-white",children:"Navigation Component"}),(0,Ve.jsx)("p",{className:"text-xl mb-8 text-gray-100",children:"A customizable, glassmorphism styled Navigation component."}),(0,Ve.jsxs)("section",{className:"".concat(tl()," p-6 mb-14"),children:[(0,Ve.jsx)("h2",{className:"text-3xl font-bold mb-6 text-gray-100",children:"Basic Usage"}),(0,Ve.jsx)("pre",{className:"bg-gray-800 text-white p-4 rounded-lg overflow-x-auto relative",children:g}),(0,Ve.jsx)(f,{text:g,codeKey:"basicUsage"})]}),(0,Ve.jsxs)("section",{className:"".concat(tl()," p-6 mb-14"),children:[(0,Ve.jsx)("h2",{className:"text-3xl font-bold mb-6 text-gray-100",children:"Props"}),(0,Ve.jsx)("div",{className:"overflow-x-auto",children:(0,Ve.jsxs)("table",{className:"w-full",children:[(0,Ve.jsx)("thead",{children:(0,Ve.jsxs)("tr",{className:"bg-white bg-opacity-20",children:[(0,Ve.jsx)("th",{className:"text-left p-2",children:" Prop"}),(0,Ve.jsx)("th",{className:"text-left p-2",children:"Type"}),(0,Ve.jsx)("th",{className:"text-left p-2",children:"Default"}),(0,Ve.jsx)("th",{className:"text-left p-2",children:"Description"})]})}),(0,Ve.jsxs)("tbody",{children:[(0,Ve.jsxs)("tr",{children:[(0,Ve.jsx)("td",{className:"p-2",children:"className"}),(0,Ve.jsx)("td",{className:"p-2",children:"string"}),(0,Ve.jsx)("td",{className:"p-2",children:"''"}),(0,Ve.jsx)("td",{className:"p-2",children:"Additional CSS classes"})]}),(0,Ve.jsxs)("tr",{className:"bg-white bg-opacity-10",children:[(0,Ve.jsx)("td",{className:"p-2",children:"children"}),(0,Ve.jsx)("td",{className:"p-2",children:"ReactNode"}),(0,Ve.jsx)("td",{className:"p-2",children:"-"}),(0,Ve.jsx)("td",{className:"p-2",children:"Navigation links"})]}),(0,Ve.jsxs)("tr",{children:[(0,Ve.jsx)("td",{className:"p-2",children:"onClick"}),(0,Ve.jsx)("td",{className:"p-2",children:"function"}),(0,Ve.jsx)("td",{className:"p-2",children:"-"}),(0,Ve.jsx)("td",{className:"p-2",children:"Function to handle click events on navigation items"})]}),(0,Ve.jsxs)("tr",{className:"bg-white bg-opacity-10",children:[(0,Ve.jsx)("td",{className:"p-2",children:"menuOpen"}),(0,Ve.jsx)("td",{className:"p-2",children:"boolean"}),(0,Ve.jsx)("td",{className:"p-2",children:"false"}),(0,Ve.jsx)("td",{className:"p-2",children:"Whether the navigation menu is open or not shown when open in small screen devices"})]}),(0,Ve.jsxs)("tr",{children:[(0,Ve.jsx)("td",{className:"p-2",children:"selected"}),(0,Ve.jsx)("td",{className:"p-2",children:"string"}),(0,Ve.jsx)("td",{className:"p-2",children:"''"}),(0,Ve.jsx)("td",{className:"p-2",children:"The currently selected navigation item"})]}),(0,Ve.jsxs)("tr",{className:"bg-white bg-opacity-10",children:[(0,Ve.jsx)("td",{className:"p-2",children:"onSelect"}),(0,Ve.jsx)("td",{className:"p-2",children:"function"}),(0,Ve.jsx)("td",{className:"p-2",children:"-"}),(0,Ve.jsx)("td",{className:"p-2",children:"Function to handle selection of navigation items"})]})]})]})})]}),(0,Ve.jsxs)("section",{className:"".concat(tl()," p-6 mb-14"),children:[(0,Ve.jsx)("h2",{className:"text-3xl font-bold mb-6 text-gray-100",children:"Navigation Example"}),(0,Ve.jsx)("div",{className:"".concat(tl(10)," p-6 mb-6"),children:(0,Ve.jsxs)("nav",{className:"".concat(tl()," flex justify-around flex-col md:flex-row mt-4 py-2"),children:[(0,Ve.jsx)("button",{className:"md:hidden flex items-center justify-start p-3",onClick:()=>c(!l),children:(0,Ve.jsx)(el,{size:20,className:"mr-2"})}),(0,Ve.jsx)("div",{className:"w-full md:w-auto ".concat(l?"block":"hidden"," md:block"),children:(0,Ve.jsxs)("ul",{className:"flex flex-col md:flex-row space-y-2 md:space-y-0 md:space-x-5 p-3 m-2",children:[(0,Ve.jsx)("a",{href:"#home",className:"hover:bg-white/50 hover:text-pink-600 rounded flex justify-center ",children:(0,Ve.jsx)("button",{onClick:()=>h("Home"),className:" hover:text-pink-600 px-2 py-1 rounded ".concat("Home"===u?"bg-pink-300 text-pink-600":""),children:"Home"})}),(0,Ve.jsx)("a",{href:"#about",className:"hover:bg-white/50 hover:text-pink-600 rounded flex justify-center",children:(0,Ve.jsx)("button",{onClick:()=>h("About"),className:" hover:text-pink-600 px-2 py-1 rounded ".concat("About"===u?"bg-pink-300 text-pink-600":""),children:"About"})}),(0,Ve.jsx)("a",{href:"#contact",className:"hover:bg-white/50 hover:text-pink-600 rounded flex justify-center",children:(0,Ve.jsx)("button",{onClick:()=>h("Contact"),className:" hover:text-pink-600 px-2 py-1 rounded ".concat("Contact"===u?"bg-pink-300 text-pink-600":""),children:"Contact"})})]})})]})})]})]})},rl=()=>{const t=he(),n=p((0,e.useState)(.5),2),r=n[0],a=n[1],s=p((0,e.useState)(10),2),i=s[0],o=s[1],l=p((0,e.useState)("#ffffff"),2),c=l[0],d=l[1],u=p((0,e.useState)(10),2),h=u[0],m=u[1],f=p((0,e.useState)(0),2),g=f[0],x=f[1],v=p((0,e.useState)(4),2),b=v[0],y=v[1],w=p((0,e.useState)("#000000"),2),j=w[0],N=w[1],k=p((0,e.useState)(15),2),_=k[0],C=k[1],S=p((0,e.useState)("custom"),2),T=S[0],E=S[1],P=p((0,e.useState)(!1),2),A=P[0],O=P[1],I={backgroundColor:c,backdropFilter:"blur(".concat(i,"px)"),opacity:r,borderRadius:"".concat(_,"px"),padding:"20px",boxShadow:"".concat(g,"px ").concat(b,"px ").concat(h,"px ").concat(j)},D="\n.glassmorphism {\n background: ".concat(c,";\n backdrop-filter: blur(").concat(i,"px);\n opacity: ").concat(r,";\n border-radius: ").concat(_,"px;\n box-shadow: ").concat(g,"px ").concat(b,"px ").concat(h,"px ").concat(j,";\n}"),F='\n
\n \x3c!-- Your content here --\x3e\n
');return(0,Ve.jsxs)(Ge,{children:[(0,Ve.jsx)("div",{className:"w-full mb-0 pb-0",children:(0,Ve.jsxs)("button",{onClick:()=>t(-1),className:"mb-8 flex items-center ".concat(function(){return"backdrop-filter backdrop-blur-lg bg-white bg-opacity-".concat(arguments.length>0&&void 0!==arguments[0]?arguments[0]:20," \n border border-white border-opacity-20 rounded-lg shadow-lg transition-all duration-300")}()," px-4 py-2 hover:bg-white/40 transition-all duration-300 text-gray-100"),children:[(0,Ve.jsx)(Be,{size:20,className:"mr-2"}),"Back to Components"]})}),(0,Ve.jsxs)("h1",{className:"text-5xl font-bold text-white ",children:["Glassmorphism Generator"," "]}),(0,Ve.jsx)("h2",{className:"text-xl font-bold text-white ",children:"Create your own Glassmorphic effect with ease"}),(0,Ve.jsxs)("div",{className:"w-[80%] flex flex-wrap justify-center gap-4 mb-8",children:[(0,Ve.jsxs)("div",{className:"glassmorphism p-2 rounded-md",children:[(0,Ve.jsxs)("label",{htmlFor:"opacity",className:"block text-sm font-medium text-white mb-1",children:["Opacity: ",r]}),(0,Ve.jsx)("input",{type:"range",id:"opacity",min:"0",max:"1",step:"0.01",value:r,onChange:e=>a(parseFloat(e.target.value)),className:"w-full"})]}),(0,Ve.jsxs)("div",{className:"glassmorphism p-2 rounded-md",children:[(0,Ve.jsxs)("label",{htmlFor:"blur",className:"block text-sm font-medium text-white mb-1",children:["Blur: ",i,"px"]}),(0,Ve.jsx)("input",{type:"range",id:"blur",min:"0",max:"50",step:"1",value:i,onChange:e=>o(parseInt(e.target.value)),className:"w-full"})]}),(0,Ve.jsxs)("div",{className:"glassmorphism p-2 rounded-md ",children:[(0,Ve.jsx)("label",{htmlFor:"bgColor",className:"block text-sm font-medium text-white mb-1",children:"Background Color"}),(0,Ve.jsxs)("div",{className:"flex items-center space-x-3",children:[(0,Ve.jsx)(Qe,{value:c,onChange:e=>d(e)}),(0,Ve.jsxs)("div",{className:"flex items-center border-b border-white/30 focus-within:border-white transition-colors",children:[(0,Ve.jsx)("span",{className:"text-white/50 font-mono text-sm pl-1",children:"#"}),(0,Ve.jsx)("input",{type:"text",value:c.replace("#",""),onChange:e=>{const t=e.target.value.replace(/[^0-9a-fA-F]/g,"");d("#".concat(t.slice(0,6)))},className:"bg-transparent w-20 py-1 px-1 text-white font-mono uppercase outline-none text-sm tracking-widest",placeholder:"FFFFFF",maxLength:6})]})]})]}),(0,Ve.jsxs)("div",{className:"glassmorphism p-2 rounded-md",children:[(0,Ve.jsxs)("label",{htmlFor:"borderRadius",className:"block text-sm font-medium text-white mb-1",children:["Border Radius: ",_,"px"]}),(0,Ve.jsx)("input",{type:"range",id:"borderRadius",min:"0",max:"50",step:"1",value:_,onChange:e=>C(parseInt(e.target.value)),className:"w-full"})]}),(0,Ve.jsxs)("div",{className:"glassmorphism p-2 rounded-md",children:[(0,Ve.jsxs)("label",{htmlFor:"shadowBlur",className:"block text-sm font-medium text-white mb-1",children:["Shadow Blur: ",h,"px"]}),(0,Ve.jsx)("input",{type:"range",id:"shadowBlur",min:"0",max:"50",step:"1",value:h,onChange:e=>m(parseInt(e.target.value)),className:"w-full"})]}),(0,Ve.jsxs)("div",{className:"glassmorphism p-2 rounded-md",children:[(0,Ve.jsxs)("label",{htmlFor:"shadowOffsetX",className:"block text-sm font-medium text-white mb-1",children:["Shadow Offset X: ",g,"px"]}),(0,Ve.jsx)("input",{type:"range",id:"shadowOffsetX",min:"-50",max:"50",step:"1",value:g,onChange:e=>x(parseInt(e.target.value)),className:"w-full"})]}),(0,Ve.jsxs)("div",{className:"glassmorphism p-2 rounded-md",children:[(0,Ve.jsxs)("label",{htmlFor:"shadowOffsetY",className:"block text-sm font-medium text-white mb-1",children:["Shadow Offset Y: ",b,"px"]}),(0,Ve.jsx)("input",{type:"range",id:"shadowOffsetY",min:"-50",max:"50",step:"1",value:b,onChange:e=>y(parseInt(e.target.value)),className:"w-full"})]}),(0,Ve.jsxs)("div",{className:"glassmorphism p-2 rounded-md ",children:[(0,Ve.jsx)("label",{htmlFor:"bgColor",className:"block text-sm font-medium text-white mb-1",children:"Shadow Color"}),(0,Ve.jsxs)("div",{className:"flex items-center space-x-3",children:[(0,Ve.jsx)(Qe,{value:j,onChange:e=>N(e)}),(0,Ve.jsxs)("div",{className:"flex items-center border-b border-white/30 focus-within:border-white transition-colors",children:[(0,Ve.jsx)("span",{className:"text-white/50 font-mono text-sm pl-1",children:"#"}),(0,Ve.jsx)("input",{type:"text",value:c.replace("#",""),onChange:e=>{const t=e.target.value.replace(/[^0-9a-fA-F]/g,"");d("#".concat(t.slice(0,6)))},className:"bg-transparent w-20 py-1 px-1 text-white font-mono uppercase outline-none text-sm tracking-widest",placeholder:"FFFFFF",maxLength:6})]})]})]})]}),(0,Ve.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-8 w-full max-w-[1200px]",children:[(0,Ve.jsx)("div",{className:"flex flex-col items-center justify-center",children:(0,Ve.jsx)("div",{className:"w-[90vw] h-[55vh] max-w-lg bg-gray-900 bg-opacity-80 p-4 rounded-lg shadow-xl flex items-center justify-center",children:(0,Ve.jsxs)("div",{style:I,className:"w-[70vw] h-[40vh] max-w-sm text-center p-4 rounded-lg",children:[(0,Ve.jsx)("h2",{className:"text-xl font-bold text-white",children:"Glassmorphism Effect Preview"}),(0,Ve.jsx)("p",{className:"text-sm text-white",children:"This is a preview of the glassmorphism effect."})]})})}),(0,Ve.jsx)("div",{className:"flex flex-col justify-end bg-black bg-opacity-70 p-6 rounded-lg shadow-lg",children:(0,Ve.jsxs)("div",{className:"relative mt-auto",children:[(0,Ve.jsx)("button",{onClick:()=>{return e="custom"===T?D:F,void navigator.clipboard.writeText(e).then(()=>{O(!0),setTimeout(()=>O(!1),2e3)});var e},className:"absolute top-2 right-2 p-2 bg-blue-600 text-white rounded-md hover:bg-blue-700 transition duration-200 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2",title:"Copy to clipboard",children:A?(0,Ve.jsx)(Ho,{}):(0,Ve.jsx)(Go,{})}),(0,Ve.jsxs)("div",{className:"flex space-x-4 mb-4",children:[(0,Ve.jsx)("button",{onClick:()=>E("custom"),className:"px-4 py-2 rounded-md transition duration-200 ".concat("custom"===T?"bg-blue-600 text-white shadow-md":"bg-gray-800 text-gray-300 hover:bg-gray-700"),children:"Custom CSS"}),(0,Ve.jsx)("button",{onClick:()=>E("tailwind"),className:"px-4 py-2 rounded-md transition duration-200 ".concat("tailwind"===T?"bg-blue-600 text-white shadow-md":"bg-gray-800 text-gray-300 hover:bg-gray-700"),children:"Tailwind CSS"})]}),(0,Ve.jsx)("pre",{className:"bg-blue-900 h-[35vh] p-4 rounded-md overflow-x-auto mt-4 border border-gray-300 shadow-inner",children:(0,Ve.jsx)("code",{className:"text-sm text-gray-100",children:"custom"===T?D:F})})]})})]})]})},al=()=>{const t=he(),n=p((0,e.useState)({}),2),r=n[0],a=n[1],s=p((0,e.useState)("#ffffff"),2),i=s[0],o=s[1],c=p((0,e.useState)(50),2),d=c[0],u=(c[1],p((0,e.useState)(""),2)),h=u[0],m=u[1],f=p((0,e.useState)(50),2),g=f[0],x=f[1];(0,e.useEffect)(()=>{const e='");m(e)},[g,i,d]);const v=function(){return"backdrop-filter backdrop-blur-lg bg-white bg-opacity-".concat(arguments.length>0&&void 0!==arguments[0]?arguments[0]:10," \n border border-white border-opacity-20 rounded-lg shadow-lg transition-all duration-300")},b=e=>{x(Number(e.target.value))},y=e=>{let t=e.text,n=e.codeKey;return(0,Ve.jsx)("button",{onClick:()=>((e,t)=>{navigator.clipboard.writeText(e).then(()=>{a(e=>l(l({},e),{},{[t]:!0})),setTimeout(()=>a(e=>l(l({},e),{},{[t]:!1})),2e3)})})(t,n),className:"absolute top-4 right-4 ".concat(v()," p-2 hover:bg-opacity-20 text-white"),title:"Copy to clipboard",children:r[n]?(0,Ve.jsx)(Le,{size:20}):(0,Ve.jsx)(ze,{size:20})})};return(0,Ve.jsxs)(Ge,{children:[(0,Ve.jsx)("nav",{className:" mb-8 flex items-center justify-between relative z-10",children:(0,Ve.jsxs)("button",{onClick:()=>{t("/components")},className:"flex items-center ".concat(v()," px-4 py-2 hover:bg-opacity-20 text-white"),children:[(0,Ve.jsx)(Be,{size:20,className:"mr-2"}),"Back to Components"]})}),(0,Ve.jsx)("h1",{className:"text-6xl font-bold mb-8 text-white relative z-10",children:"Glassmorphic Slider Component"}),(0,Ve.jsx)("p",{className:"text-xl mb-8 text-gray-100",children:"A glassmorphism-styled Slider component."}),(0,Ve.jsxs)("section",{className:"".concat(v(20)," p-6 mb-14 text-white relative z-10"),children:[(0,Ve.jsx)("h2",{className:"text-3xl font-bold mb-4",children:"Basic Usage"}),(0,Ve.jsx)("div",{className:"".concat(v()," p-4 hover:shadow-xl mb-4"),children:(0,Ve.jsx)("input",{type:"range",min:"0",max:"100",value:g,onChange:b,className:"".concat(v(50)," w-full h-2 rounded-lg appearance-none cursor-pointer"),style:{background:"linear-gradient(90deg, rgba(255, 255, 255, 0.3) ".concat(g,"%, rgba(255, 255, 255, 0.1) ").concat(g,"%)")}})}),(0,Ve.jsxs)("pre",{className:"bg-gray-800 text-white p-6 rounded-lg overflow-x-auto relative",children:['"),(0,Ve.jsx)(y,{text:'"),codeKey:"basicUsage"})]})]}),(0,Ve.jsxs)("section",{className:"".concat(v(20)," p-6 mb-14 text-white relative z-10"),children:[(0,Ve.jsx)("h2",{className:"text-3xl font-bold mb-4",children:"Props"}),(0,Ve.jsx)("div",{className:"overflow-x-auto",children:(0,Ve.jsxs)("table",{className:"w-full",children:[(0,Ve.jsx)("thead",{children:(0,Ve.jsxs)("tr",{className:"bg-white bg-opacity-20",children:[(0,Ve.jsx)("th",{className:"text-left p-2",children:"Prop"}),(0,Ve.jsx)("th",{className:"text-left p-2",children:"Type"}),(0,Ve.jsx)("th",{className:"text-left p-2",children:"Default"}),(0,Ve.jsx)("th",{className:"text-left p-2",children:"Description"})]})}),(0,Ve.jsxs)("tbody",{children:[(0,Ve.jsxs)("tr",{children:[(0,Ve.jsx)("td",{className:"p-2",children:"className"}),(0,Ve.jsx)("td",{className:"p-2",children:"string"}),(0,Ve.jsx)("td",{className:"p-2",children:"''"}),(0,Ve.jsx)("td",{className:"p-2",children:"Additional CSS classes to apply to the slider"})]}),(0,Ve.jsxs)("tr",{className:"bg-white bg-opacity-10",children:[(0,Ve.jsx)("td",{className:"p-2",children:"min"}),(0,Ve.jsx)("td",{className:"p-2",children:"number"}),(0,Ve.jsx)("td",{className:"p-2",children:"0"}),(0,Ve.jsx)("td",{className:"p-2",children:"Minimum value of the slider"})]}),(0,Ve.jsxs)("tr",{children:[(0,Ve.jsx)("td",{className:"p-2",children:"max"}),(0,Ve.jsx)("td",{className:"p-2",children:"number"}),(0,Ve.jsx)("td",{className:"p-2",children:"100"}),(0,Ve.jsx)("td",{className:"p-2",children:"Maximum value of the slider"})]}),(0,Ve.jsxs)("tr",{className:"bg-white bg-opacity-10",children:[(0,Ve.jsx)("td",{className:"p-2",children:"defaultValue"}),(0,Ve.jsx)("td",{className:"p-2",children:"number"}),(0,Ve.jsx)("td",{className:"p-2",children:"50"}),(0,Ve.jsx)("td",{className:"p-2",children:"Default value of the slider"})]})]})]})})]}),(0,Ve.jsxs)("section",{className:"".concat(v(20)," p-6 mb-8 text-white relative z-10"),children:[(0,Ve.jsx)("h2",{className:"text-3xl font-bold mb-4",children:"Custom Styling"}),(0,Ve.jsxs)("div",{className:"mb-12",children:[(0,Ve.jsx)("h3",{className:"text-xl font-semibold mb-6",children:"Slider Customization"}),(0,Ve.jsxs)("div",{className:"".concat(v()," p-8 hover:shadow-xl rounded-xl"),children:[(0,Ve.jsx)("div",{className:"mb-8",children:(0,Ve.jsx)("input",{type:"range",min:"0",max:"100",value:g,onChange:b,className:"".concat(v()," w-full h-2 rounded-lg appearance-none cursor-pointer"),style:{background:"linear-gradient(90deg, ".concat(i," ").concat(g,"%, #cccccc ").concat(g,"%)")}})}),(0,Ve.jsxs)("div",{className:"space-y-2",children:[(0,Ve.jsx)("label",{className:"block text-sm font-medium text-white",children:"Background Color"}),(0,Ve.jsxs)("div",{className:"flex space-x-2",children:[(0,Ve.jsx)(Qe,{value:i,onChange:o}),(0,Ve.jsxs)("div",{className:"flex items-center border-b border-white/30 focus-within:border-white transition-colors",children:[(0,Ve.jsx)("span",{className:"text-white/50 font-mono text-sm pl-1",children:"#"}),(0,Ve.jsx)("input",{type:"text",value:i.replace("#",""),onChange:e=>{const t=e.target.value.replace(/[^0-9a-fA-F]/g,"");o("#".concat(t.slice(0,6)))},className:"bg-transparent w-20 py-1 px-1 text-white font-mono uppercase outline-none text-sm tracking-widest",placeholder:"FFFFFF",maxLength:6})]})]})]}),(0,Ve.jsxs)("div",{className:"mt-8",children:[(0,Ve.jsx)("h4",{className:"text-xl font-semibold mb-4",children:"Generated Code"}),(0,Ve.jsxs)("div",{className:"relative",children:[(0,Ve.jsx)("pre",{className:"bg-gray-800 text-white p-4 rounded-lg overflow-x-auto",children:h}),(0,Ve.jsx)(y,{text:h,codeKey:"customStyling"})]})]})]})]})]})]})},sl=Me("GitCommitHorizontal",[["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["line",{x1:"3",x2:"9",y1:"12",y2:"12",key:"1dyftd"}],["line",{x1:"15",x2:"21",y1:"12",y2:"12",key:"oup4p8"}]]),il=Me("GitFork",[["circle",{cx:"12",cy:"18",r:"3",key:"1mpf1b"}],["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["path",{d:"M18 9v2c0 .6-.4 1-1 1H7c-.6 0-1-.4-1-1V9",key:"1uq4wg"}],["path",{d:"M12 12v3",key:"158kv8"}]]);function ol(){const t=p((0,e.useState)([]),2),n=t[0],r=t[1],a=p((0,e.useState)({stars:0,forks:0,contributors:0,totalCommits:0}),2),s=a[0],i=a[1],o=p((0,e.useState)(!0),2),c=o[0],d=o[1],u=p((0,e.useState)(1),2),h=u[0],m=u[1];(0,e.useEffect)(()=>{(async()=>{try{var e,t;let n=[],a=1;for(;;){const e=await fetch("https://api.github.com/repos/Jaishree2310/GlassyUI-Components/contributors?page=".concat(a,"&per_page=100"));if(!e.ok)break;const t=await e.json();if(0===t.length)break;n=[...n,...t],a++}r(n);const s=await fetch("https://api.github.com/repos/Jaishree2310/GlassyUI-Components"),o=await s.json();i({stars:null!==(e=o.stargazers_count)&&void 0!==e?e:0,forks:null!==(t=o.forks_count)&&void 0!==t?t:0,contributors:n.length,totalCommits:n.reduce((e,t)=>e+t.contributions,0)})}catch(n){console.error("Error fetching contributors:",n)}finally{d(!1)}})()},[]);const f=Math.ceil(n.length/12),g=n.slice(12*(h-1),12*h);function x(e){return e>=1e3?(e/1e3).toFixed(1).replace(/\.0$/,"")+"k":String(e)}return(0,Ve.jsxs)("div",{className:"contrib-root",children:[(0,Ve.jsx)("div",{className:"contrib-orb-1"}),(0,Ve.jsx)("div",{className:"contrib-orb-2"}),(0,Ve.jsx)(He,{}),(0,Ve.jsxs)("div",{className:"contrib-hero",children:[(0,Ve.jsx)("span",{className:"section-label",children:"Open Source Community"}),(0,Ve.jsx)("h1",{className:"contrib-hero-title",children:"Our Amazing Contributors"}),(0,Ve.jsx)("p",{className:"contrib-hero-sub",children:"Shaping the future of GlassyUI, one commit at a time. Thank you to everyone who has contributed."})]}),(0,Ve.jsxs)("div",{className:"contrib-stats",children:[(0,Ve.jsx)(ll,{icon:(0,Ve.jsx)(Mt,{size:22}),value:x(s.contributors),label:"Contributors",loading:c}),(0,Ve.jsx)(ll,{icon:(0,Ve.jsx)(sl,{size:22}),value:x(s.totalCommits),label:"Total Commits",loading:c}),(0,Ve.jsx)(ll,{icon:(0,Ve.jsx)(Bt,{size:22}),value:x(s.stars),label:"GitHub Stars",loading:c}),(0,Ve.jsx)(ll,{icon:(0,Ve.jsx)(il,{size:22}),value:x(s.forks),label:"Forks",loading:c})]}),(0,Ve.jsxs)("div",{className:"contrib-section",children:[(0,Ve.jsx)("h2",{className:"contrib-section-title",children:"Meet the Contributors"}),c?(0,Ve.jsxs)("div",{className:"contrib-loading",children:[(0,Ve.jsx)("div",{className:"contrib-spinner"}),(0,Ve.jsx)("p",{className:"contrib-loading-text",children:"Loading contributors\u2026"})]}):(0,Ve.jsxs)(Ve.Fragment,{children:[(0,Ve.jsx)("div",{className:"contrib-grid",children:g.map(e=>(0,Ve.jsx)(cl,l({},e),e.id))}),f>1&&(0,Ve.jsxs)("div",{className:"cp-pagination",style:{marginTop:48},children:[(0,Ve.jsx)("button",{className:"cp-page-btn",onClick:()=>m(e=>Math.max(1,e-1)),disabled:1===h,children:"\u2190 Prev"}),(0,Ve.jsxs)("span",{style:{color:"#64748b",fontSize:13.5},children:["Page ",h," of ",f]}),(0,Ve.jsx)("button",{className:"cp-page-btn",onClick:()=>m(e=>Math.min(f,e+1)),disabled:h===f,children:"Next \u2192"})]})]})]})]})}const ll=e=>{let t=e.icon,n=e.value,r=e.label,a=e.loading;return(0,Ve.jsxs)("div",{className:"contrib-stat-card",children:[(0,Ve.jsx)("div",{className:"contrib-stat-icon",children:t}),(0,Ve.jsxs)("div",{children:[(0,Ve.jsx)("div",{className:"contrib-stat-value",children:a?"\u2014":n}),(0,Ve.jsx)("div",{className:"contrib-stat-label",children:r})]})]})},cl=e=>{let t=e.login,n=e.avatar_url,r=e.html_url,a=e.contributions,s=e.type;return(0,Ve.jsxs)("a",{href:r,target:"_blank",rel:"noopener noreferrer",className:"contrib-card",children:[(0,Ve.jsxs)("div",{className:"contrib-card-body",children:[(0,Ve.jsx)("img",{src:n,alt:t,className:"contrib-avatar"}),(0,Ve.jsx)("h3",{className:"contrib-login",children:t}),(0,Ve.jsx)("p",{className:"contrib-type",children:s}),(0,Ve.jsxs)("span",{className:"contrib-badge",children:[(0,Ve.jsx)(sl,{size:12}),a," commits"]})]}),(0,Ve.jsxs)("div",{className:"contrib-card-footer-bar",children:[(0,Ve.jsx)("span",{children:"GitHub Profile"}),(0,Ve.jsx)("span",{className:"contrib-view-link",children:"View \u2192"})]})]})};var dl,ul;!function(e){e.assertEqual=e=>{},e.assertIs=function(e){},e.assertNever=function(e){throw new Error},e.arrayToEnum=e=>{const t={};for(const n of e)t[n]=n;return t},e.getValidEnumValues=t=>{const n=e.objectKeys(t).filter(e=>"number"!==typeof t[t[e]]),r={};for(const e of n)r[e]=t[e];return e.objectValues(r)},e.objectValues=t=>e.objectKeys(t).map(function(e){return t[e]}),e.objectKeys="function"===typeof Object.keys?e=>Object.keys(e):e=>{const t=[];for(const n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.push(n);return t},e.find=(e,t)=>{for(const n of e)if(t(n))return n},e.isInteger="function"===typeof Number.isInteger?e=>Number.isInteger(e):e=>"number"===typeof e&&Number.isFinite(e)&&Math.floor(e)===e,e.joinValues=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:" | ";return e.map(e=>"string"===typeof e?"'".concat(e,"'"):e).join(t)},e.jsonStringifyReplacer=(e,t)=>"bigint"===typeof t?t.toString():t}(dl||(dl={})),function(e){e.mergeShapes=(e,t)=>l(l({},e),t)}(ul||(ul={}));const hl=dl.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),pl=e=>{switch(typeof e){case"undefined":return hl.undefined;case"string":return hl.string;case"number":return Number.isNaN(e)?hl.nan:hl.number;case"boolean":return hl.boolean;case"function":return hl.function;case"bigint":return hl.bigint;case"symbol":return hl.symbol;case"object":return Array.isArray(e)?hl.array:null===e?hl.null:e.then&&"function"===typeof e.then&&e.catch&&"function"===typeof e.catch?hl.promise:"undefined"!==typeof Map&&e instanceof Map?hl.map:"undefined"!==typeof Set&&e instanceof Set?hl.set:"undefined"!==typeof Date&&e instanceof Date?hl.date:hl.object;default:return hl.unknown}},ml=dl.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);class fl extends Error{get errors(){return this.issues}constructor(e){var t;super(),t=this,this.issues=[],this.addIssue=e=>{this.issues=[...this.issues,e]},this.addIssues=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];t.issues=[...t.issues,...e]};const n=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,n):this.__proto__=n,this.name="ZodError",this.issues=e}format(e){const t=e||function(e){return e.message},n={_errors:[]},r=e=>{for(const a of e.issues)if("invalid_union"===a.code)a.unionErrors.map(r);else if("invalid_return_type"===a.code)r(a.returnTypeError);else if("invalid_arguments"===a.code)r(a.argumentsError);else if(0===a.path.length)n._errors.push(t(a));else{let e=n,r=0;for(;r0&&void 0!==arguments[0]?arguments[0]:e=>e.message;const t={},n=[];for(const r of this.issues)if(r.path.length>0){const n=r.path[0];t[n]=t[n]||[],t[n].push(e(r))}else n.push(e(r));return{formErrors:n,fieldErrors:t}}get formErrors(){return this.flatten()}}fl.create=e=>new fl(e);const gl=(e,t)=>{let n;switch(e.code){case ml.invalid_type:n=e.received===hl.undefined?"Required":"Expected ".concat(e.expected,", received ").concat(e.received);break;case ml.invalid_literal:n="Invalid literal value, expected ".concat(JSON.stringify(e.expected,dl.jsonStringifyReplacer));break;case ml.unrecognized_keys:n="Unrecognized key(s) in object: ".concat(dl.joinValues(e.keys,", "));break;case ml.invalid_union:n="Invalid input";break;case ml.invalid_union_discriminator:n="Invalid discriminator value. Expected ".concat(dl.joinValues(e.options));break;case ml.invalid_enum_value:n="Invalid enum value. Expected ".concat(dl.joinValues(e.options),", received '").concat(e.received,"'");break;case ml.invalid_arguments:n="Invalid function arguments";break;case ml.invalid_return_type:n="Invalid function return type";break;case ml.invalid_date:n="Invalid date";break;case ml.invalid_string:"object"===typeof e.validation?"includes"in e.validation?(n='Invalid input: must include "'.concat(e.validation.includes,'"'),"number"===typeof e.validation.position&&(n="".concat(n," at one or more positions greater than or equal to ").concat(e.validation.position))):"startsWith"in e.validation?n='Invalid input: must start with "'.concat(e.validation.startsWith,'"'):"endsWith"in e.validation?n='Invalid input: must end with "'.concat(e.validation.endsWith,'"'):dl.assertNever(e.validation):n="regex"!==e.validation?"Invalid ".concat(e.validation):"Invalid";break;case ml.too_small:n="array"===e.type?"Array must contain ".concat(e.exact?"exactly":e.inclusive?"at least":"more than"," ").concat(e.minimum," element(s)"):"string"===e.type?"String must contain ".concat(e.exact?"exactly":e.inclusive?"at least":"over"," ").concat(e.minimum," character(s)"):"number"===e.type||"bigint"===e.type?"Number must be ".concat(e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than ").concat(e.minimum):"date"===e.type?"Date must be ".concat(e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than ").concat(new Date(Number(e.minimum))):"Invalid input";break;case ml.too_big:n="array"===e.type?"Array must contain ".concat(e.exact?"exactly":e.inclusive?"at most":"less than"," ").concat(e.maximum," element(s)"):"string"===e.type?"String must contain ".concat(e.exact?"exactly":e.inclusive?"at most":"under"," ").concat(e.maximum," character(s)"):"number"===e.type?"Number must be ".concat(e.exact?"exactly":e.inclusive?"less than or equal to":"less than"," ").concat(e.maximum):"bigint"===e.type?"BigInt must be ".concat(e.exact?"exactly":e.inclusive?"less than or equal to":"less than"," ").concat(e.maximum):"date"===e.type?"Date must be ".concat(e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"," ").concat(new Date(Number(e.maximum))):"Invalid input";break;case ml.custom:n="Invalid input";break;case ml.invalid_intersection_types:n="Intersection results could not be merged";break;case ml.not_multiple_of:n="Number must be a multiple of ".concat(e.multipleOf);break;case ml.not_finite:n="Number must be finite";break;default:n=t.defaultError,dl.assertNever(e)}return{message:n}};let xl=gl;function vl(){return xl}var bl;!function(e){e.errToObj=e=>"string"===typeof e?{message:e}:e||{},e.toString=e=>"string"===typeof e?e:null===e||void 0===e?void 0:e.message}(bl||(bl={}));const yl=e=>{const t=e.data,n=e.path,r=e.errorMaps,a=e.issueData,s=[...n,...a.path||[]],i=l(l({},a),{},{path:s});if(void 0!==a.message)return l(l({},a),{},{path:s,message:a.message});let o="";const c=r.filter(e=>!!e).slice().reverse();for(const l of c)o=l(i,{data:t,defaultError:o}).message;return l(l({},a),{},{path:s,message:o})};function wl(e,t){const n=vl(),r=yl({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===gl?void 0:gl].filter(e=>!!e)});e.common.issues.push(r)}class jl{constructor(){this.value="valid"}dirty(){"valid"===this.value&&(this.value="dirty")}abort(){"aborted"!==this.value&&(this.value="aborted")}static mergeArray(e,t){const n=[];for(const r of t){if("aborted"===r.status)return Nl;"dirty"===r.status&&e.dirty(),n.push(r.value)}return{status:e.value,value:n}}static async mergeObjectAsync(e,t){const n=[];for(const r of t){const e=await r.key,t=await r.value;n.push({key:e,value:t})}return jl.mergeObjectSync(e,n)}static mergeObjectSync(e,t){const n={};for(const r of t){const t=r.key,a=r.value;if("aborted"===t.status)return Nl;if("aborted"===a.status)return Nl;"dirty"===t.status&&e.dirty(),"dirty"===a.status&&e.dirty(),"__proto__"===t.value||"undefined"===typeof a.value&&!r.alwaysSet||(n[t.value]=a.value)}return{status:e.value,value:n}}}const Nl=Object.freeze({status:"aborted"}),kl=e=>({status:"dirty",value:e}),_l=e=>({status:"valid",value:e}),Cl=e=>"aborted"===e.status,Sl=e=>"dirty"===e.status,Tl=e=>"valid"===e.status,El=e=>"undefined"!==typeof Promise&&e instanceof Promise;class Pl{constructor(e,t,n,r){this._cachedPath=[],this.parent=e,this.data=t,this._path=n,this._key=r}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const Al=(e,t)=>{if(Tl(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const t=new fl(e.common.issues);return this._error=t,this._error}}};function Ol(e){if(!e)return{};const t=e.errorMap,n=e.invalid_type_error,r=e.required_error,a=e.description;if(t&&(n||r))throw new Error('Can\'t use "invalid_type_error" or "required_error" in conjunction with custom error map.');if(t)return{errorMap:t,description:a};return{errorMap:(t,a)=>{var s;const i=e.message;return"invalid_enum_value"===t.code?{message:null!==i&&void 0!==i?i:a.defaultError}:"undefined"===typeof a.data?{message:null!==(o=null!==i&&void 0!==i?i:r)&&void 0!==o?o:a.defaultError}:"invalid_type"!==t.code?{message:a.defaultError}:{message:null!==(s=null!==i&&void 0!==i?i:n)&&void 0!==s?s:a.defaultError};var o},description:a}}class Il{get description(){return this._def.description}_getType(e){return pl(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:pl(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new jl,ctx:{common:e.parent.common,data:e.data,parsedType:pl(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){const t=this._parse(e);if(El(t))throw new Error("Synchronous parse encountered promise.");return t}_parseAsync(e){const t=this._parse(e);return Promise.resolve(t)}parse(e,t){const n=this.safeParse(e,t);if(n.success)return n.data;throw n.error}safeParse(e,t){var n;const r={common:{issues:[],async:null!==(n=null===t||void 0===t?void 0:t.async)&&void 0!==n&&n,contextualErrorMap:null===t||void 0===t?void 0:t.errorMap},path:(null===t||void 0===t?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:pl(e)},a=this._parseSync({data:e,path:r.path,parent:r});return Al(r,a)}"~validate"(e){const t={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:pl(e)};if(!this["~standard"].async)try{const n=this._parseSync({data:e,path:[],parent:t});return Tl(n)?{value:n.value}:{issues:t.common.issues}}catch(r){var n;null!==r&&void 0!==r&&null!==(n=r.message)&&void 0!==n&&null!==(n=n.toLowerCase())&&void 0!==n&&n.includes("encountered")&&(this["~standard"].async=!0),t.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:t}).then(e=>Tl(e)?{value:e.value}:{issues:t.common.issues})}async parseAsync(e,t){const n=await this.safeParseAsync(e,t);if(n.success)return n.data;throw n.error}async safeParseAsync(e,t){const n={common:{issues:[],contextualErrorMap:null===t||void 0===t?void 0:t.errorMap,async:!0},path:(null===t||void 0===t?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:pl(e)},r=this._parse({data:e,path:n.path,parent:n}),a=await(El(r)?r:Promise.resolve(r));return Al(n,a)}refine(e,t){return this._refinement((n,r)=>{const a=e(n),s=()=>r.addIssue(l({code:ml.custom},(e=>"string"===typeof t||"undefined"===typeof t?{message:t}:"function"===typeof t?t(e):t)(n)));return"undefined"!==typeof Promise&&a instanceof Promise?a.then(e=>!!e||(s(),!1)):!!a||(s(),!1)})}refinement(e,t){return this._refinement((n,r)=>!!e(n)||(r.addIssue("function"===typeof t?t(n,r):t),!1))}_refinement(e){return new Ac({schema:this,typeName:Bc.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:e=>this["~validate"](e)}}optional(){return Oc.create(this,this._def)}nullable(){return Ic.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return gc.create(this)}promise(){return Pc.create(this,this._def)}or(e){return bc.create([this,e],this._def)}and(e){return wc.create(this,e,this._def)}transform(e){return new Ac(l(l({},Ol(this._def)),{},{schema:this,typeName:Bc.ZodEffects,effect:{type:"transform",transform:e}}))}default(e){const t="function"===typeof e?e:()=>e;return new Dc(l(l({},Ol(this._def)),{},{innerType:this,defaultValue:t,typeName:Bc.ZodDefault}))}brand(){return new Mc(l({typeName:Bc.ZodBranded,type:this},Ol(this._def)))}catch(e){const t="function"===typeof e?e:()=>e;return new Fc(l(l({},Ol(this._def)),{},{innerType:this,catchValue:t,typeName:Bc.ZodCatch}))}describe(e){return new(0,this.constructor)(l(l({},this._def),{},{description:e}))}pipe(e){return Lc.create(this,e)}readonly(){return zc.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const Dl=/^c[^\s-]{8,}$/i,Fl=/^[0-9a-z]+$/,Rl=/^[0-9A-HJKMNP-TV-Z]{26}$/i,Ml=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,Ll=/^[a-z0-9_-]{21}$/i,zl=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Bl=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,Ul=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i;let Vl;const Wl=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Hl=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,Gl=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,Kl=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,ql=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,$l=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Zl="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",Yl=new RegExp("^".concat(Zl,"$"));function Xl(e){let t="[0-5]\\d";e.precision?t="".concat(t,"\\.\\d{").concat(e.precision,"}"):null==e.precision&&(t="".concat(t,"(\\.\\d+)?"));const n=e.precision?"+":"?";return"([01]\\d|2[0-3]):[0-5]\\d(:".concat(t,")").concat(n)}function Jl(e){return new RegExp("^".concat(Xl(e),"$"))}function Ql(e){let t="".concat(Zl,"T").concat(Xl(e));const n=[];return n.push(e.local?"Z?":"Z"),e.offset&&n.push("([+-]\\d{2}:?\\d{2})"),t="".concat(t,"(").concat(n.join("|"),")"),new RegExp("^".concat(t,"$"))}function ec(e,t){return!("v4"!==t&&t||!Wl.test(e))||!("v6"!==t&&t||!Gl.test(e))}function tc(e,t){if(!zl.test(e))return!1;try{const n=e.split("."),r=p(n,1)[0];if(!r)return!1;const a=r.replace(/-/g,"+").replace(/_/g,"/").padEnd(r.length+(4-r.length%4)%4,"="),s=JSON.parse(atob(a));return"object"===typeof s&&null!==s&&((!("typ"in s)||"JWT"===(null===s||void 0===s?void 0:s.typ))&&(!!s.alg&&(!t||s.alg===t)))}catch(n){return!1}}function nc(e,t){return!("v4"!==t&&t||!Hl.test(e))||!("v6"!==t&&t||!Kl.test(e))}class rc extends Il{_parse(e){this._def.coerce&&(e.data=String(e.data));if(this._getType(e)!==hl.string){const t=this._getOrReturnCtx(e);return wl(t,{code:ml.invalid_type,expected:hl.string,received:t.parsedType}),Nl}const t=new jl;let n;for(const a of this._def.checks)if("min"===a.kind)e.data.lengtha.value&&(n=this._getOrReturnCtx(e,n),wl(n,{code:ml.too_big,maximum:a.value,type:"string",inclusive:!0,exact:!1,message:a.message}),t.dirty());else if("length"===a.kind){const r=e.data.length>a.value,s=e.data.lengthe.test(t),l({validation:t,code:ml.invalid_string},bl.errToObj(n)))}_addCheck(e){return new rc(l(l({},this._def),{},{checks:[...this._def.checks,e]}))}email(e){return this._addCheck(l({kind:"email"},bl.errToObj(e)))}url(e){return this._addCheck(l({kind:"url"},bl.errToObj(e)))}emoji(e){return this._addCheck(l({kind:"emoji"},bl.errToObj(e)))}uuid(e){return this._addCheck(l({kind:"uuid"},bl.errToObj(e)))}nanoid(e){return this._addCheck(l({kind:"nanoid"},bl.errToObj(e)))}cuid(e){return this._addCheck(l({kind:"cuid"},bl.errToObj(e)))}cuid2(e){return this._addCheck(l({kind:"cuid2"},bl.errToObj(e)))}ulid(e){return this._addCheck(l({kind:"ulid"},bl.errToObj(e)))}base64(e){return this._addCheck(l({kind:"base64"},bl.errToObj(e)))}base64url(e){return this._addCheck(l({kind:"base64url"},bl.errToObj(e)))}jwt(e){return this._addCheck(l({kind:"jwt"},bl.errToObj(e)))}ip(e){return this._addCheck(l({kind:"ip"},bl.errToObj(e)))}cidr(e){return this._addCheck(l({kind:"cidr"},bl.errToObj(e)))}datetime(e){var t,n;return"string"===typeof e?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck(l({kind:"datetime",precision:"undefined"===typeof(null===e||void 0===e?void 0:e.precision)?null:null===e||void 0===e?void 0:e.precision,offset:null!==(t=null===e||void 0===e?void 0:e.offset)&&void 0!==t&&t,local:null!==(n=null===e||void 0===e?void 0:e.local)&&void 0!==n&&n},bl.errToObj(null===e||void 0===e?void 0:e.message)))}date(e){return this._addCheck({kind:"date",message:e})}time(e){return"string"===typeof e?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck(l({kind:"time",precision:"undefined"===typeof(null===e||void 0===e?void 0:e.precision)?null:null===e||void 0===e?void 0:e.precision},bl.errToObj(null===e||void 0===e?void 0:e.message)))}duration(e){return this._addCheck(l({kind:"duration"},bl.errToObj(e)))}regex(e,t){return this._addCheck(l({kind:"regex",regex:e},bl.errToObj(t)))}includes(e,t){return this._addCheck(l({kind:"includes",value:e,position:null===t||void 0===t?void 0:t.position},bl.errToObj(null===t||void 0===t?void 0:t.message)))}startsWith(e,t){return this._addCheck(l({kind:"startsWith",value:e},bl.errToObj(t)))}endsWith(e,t){return this._addCheck(l({kind:"endsWith",value:e},bl.errToObj(t)))}min(e,t){return this._addCheck(l({kind:"min",value:e},bl.errToObj(t)))}max(e,t){return this._addCheck(l({kind:"max",value:e},bl.errToObj(t)))}length(e,t){return this._addCheck(l({kind:"length",value:e},bl.errToObj(t)))}nonempty(e){return this.min(1,bl.errToObj(e))}trim(){return new rc(l(l({},this._def),{},{checks:[...this._def.checks,{kind:"trim"}]}))}toLowerCase(){return new rc(l(l({},this._def),{},{checks:[...this._def.checks,{kind:"toLowerCase"}]}))}toUpperCase(){return new rc(l(l({},this._def),{},{checks:[...this._def.checks,{kind:"toUpperCase"}]}))}get isDatetime(){return!!this._def.checks.find(e=>"datetime"===e.kind)}get isDate(){return!!this._def.checks.find(e=>"date"===e.kind)}get isTime(){return!!this._def.checks.find(e=>"time"===e.kind)}get isDuration(){return!!this._def.checks.find(e=>"duration"===e.kind)}get isEmail(){return!!this._def.checks.find(e=>"email"===e.kind)}get isURL(){return!!this._def.checks.find(e=>"url"===e.kind)}get isEmoji(){return!!this._def.checks.find(e=>"emoji"===e.kind)}get isUUID(){return!!this._def.checks.find(e=>"uuid"===e.kind)}get isNANOID(){return!!this._def.checks.find(e=>"nanoid"===e.kind)}get isCUID(){return!!this._def.checks.find(e=>"cuid"===e.kind)}get isCUID2(){return!!this._def.checks.find(e=>"cuid2"===e.kind)}get isULID(){return!!this._def.checks.find(e=>"ulid"===e.kind)}get isIP(){return!!this._def.checks.find(e=>"ip"===e.kind)}get isCIDR(){return!!this._def.checks.find(e=>"cidr"===e.kind)}get isBase64(){return!!this._def.checks.find(e=>"base64"===e.kind)}get isBase64url(){return!!this._def.checks.find(e=>"base64url"===e.kind)}get minLength(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxLength(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.valuer?n:r;return Number.parseInt(e.toFixed(a).replace(".",""))%Number.parseInt(t.toFixed(a).replace(".",""))/10**a}rc.create=e=>{var t;return new rc(l({checks:[],typeName:Bc.ZodString,coerce:null!==(t=null===e||void 0===e?void 0:e.coerce)&&void 0!==t&&t},Ol(e)))};class sc extends Il{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){this._def.coerce&&(e.data=Number(e.data));if(this._getType(e)!==hl.number){const t=this._getOrReturnCtx(e);return wl(t,{code:ml.invalid_type,expected:hl.number,received:t.parsedType}),Nl}let t;const n=new jl;for(const r of this._def.checks)if("int"===r.kind)dl.isInteger(e.data)||(t=this._getOrReturnCtx(e,t),wl(t,{code:ml.invalid_type,expected:"integer",received:"float",message:r.message}),n.dirty());else if("min"===r.kind){(r.inclusive?e.datar.value:e.data>=r.value)&&(t=this._getOrReturnCtx(e,t),wl(t,{code:ml.too_big,maximum:r.value,type:"number",inclusive:r.inclusive,exact:!1,message:r.message}),n.dirty())}else"multipleOf"===r.kind?0!==ac(e.data,r.value)&&(t=this._getOrReturnCtx(e,t),wl(t,{code:ml.not_multiple_of,multipleOf:r.value,message:r.message}),n.dirty()):"finite"===r.kind?Number.isFinite(e.data)||(t=this._getOrReturnCtx(e,t),wl(t,{code:ml.not_finite,message:r.message}),n.dirty()):dl.assertNever(r);return{status:n.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,bl.toString(t))}gt(e,t){return this.setLimit("min",e,!1,bl.toString(t))}lte(e,t){return this.setLimit("max",e,!0,bl.toString(t))}lt(e,t){return this.setLimit("max",e,!1,bl.toString(t))}setLimit(e,t,n,r){return new sc(l(l({},this._def),{},{checks:[...this._def.checks,{kind:e,value:t,inclusive:n,message:bl.toString(r)}]}))}_addCheck(e){return new sc(l(l({},this._def),{},{checks:[...this._def.checks,e]}))}int(e){return this._addCheck({kind:"int",message:bl.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:bl.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:bl.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:bl.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:bl.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:bl.toString(t)})}finite(e){return this._addCheck({kind:"finite",message:bl.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:bl.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:bl.toString(e)})}get minValue(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.value"int"===e.kind||"multipleOf"===e.kind&&dl.isInteger(e.value))}get isFinite(){let e=null,t=null;for(const n of this._def.checks){if("finite"===n.kind||"int"===n.kind||"multipleOf"===n.kind)return!0;"min"===n.kind?(null===t||n.value>t)&&(t=n.value):"max"===n.kind&&(null===e||n.valuenew sc(l({checks:[],typeName:Bc.ZodNumber,coerce:(null===e||void 0===e?void 0:e.coerce)||!1},Ol(e)));class ic extends Il{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch(r){return this._getInvalidInput(e)}if(this._getType(e)!==hl.bigint)return this._getInvalidInput(e);let t;const n=new jl;for(const a of this._def.checks)if("min"===a.kind){(a.inclusive?e.dataa.value:e.data>=a.value)&&(t=this._getOrReturnCtx(e,t),wl(t,{code:ml.too_big,type:"bigint",maximum:a.value,inclusive:a.inclusive,message:a.message}),n.dirty())}else"multipleOf"===a.kind?e.data%a.value!==BigInt(0)&&(t=this._getOrReturnCtx(e,t),wl(t,{code:ml.not_multiple_of,multipleOf:a.value,message:a.message}),n.dirty()):dl.assertNever(a);return{status:n.value,value:e.data}}_getInvalidInput(e){const t=this._getOrReturnCtx(e);return wl(t,{code:ml.invalid_type,expected:hl.bigint,received:t.parsedType}),Nl}gte(e,t){return this.setLimit("min",e,!0,bl.toString(t))}gt(e,t){return this.setLimit("min",e,!1,bl.toString(t))}lte(e,t){return this.setLimit("max",e,!0,bl.toString(t))}lt(e,t){return this.setLimit("max",e,!1,bl.toString(t))}setLimit(e,t,n,r){return new ic(l(l({},this._def),{},{checks:[...this._def.checks,{kind:e,value:t,inclusive:n,message:bl.toString(r)}]}))}_addCheck(e){return new ic(l(l({},this._def),{},{checks:[...this._def.checks,e]}))}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:bl.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:bl.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:bl.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:bl.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:bl.toString(t)})}get minValue(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.value{var t;return new ic(l({checks:[],typeName:Bc.ZodBigInt,coerce:null!==(t=null===e||void 0===e?void 0:e.coerce)&&void 0!==t&&t},Ol(e)))};class oc extends Il{_parse(e){this._def.coerce&&(e.data=Boolean(e.data));if(this._getType(e)!==hl.boolean){const t=this._getOrReturnCtx(e);return wl(t,{code:ml.invalid_type,expected:hl.boolean,received:t.parsedType}),Nl}return _l(e.data)}}oc.create=e=>new oc(l({typeName:Bc.ZodBoolean,coerce:(null===e||void 0===e?void 0:e.coerce)||!1},Ol(e)));class lc extends Il{_parse(e){this._def.coerce&&(e.data=new Date(e.data));if(this._getType(e)!==hl.date){const t=this._getOrReturnCtx(e);return wl(t,{code:ml.invalid_type,expected:hl.date,received:t.parsedType}),Nl}if(Number.isNaN(e.data.getTime())){return wl(this._getOrReturnCtx(e),{code:ml.invalid_date}),Nl}const t=new jl;let n;for(const r of this._def.checks)"min"===r.kind?e.data.getTime()r.value&&(n=this._getOrReturnCtx(e,n),wl(n,{code:ml.too_big,message:r.message,inclusive:!0,exact:!1,maximum:r.value,type:"date"}),t.dirty()):dl.assertNever(r);return{status:t.value,value:new Date(e.data.getTime())}}_addCheck(e){return new lc(l(l({},this._def),{},{checks:[...this._def.checks,e]}))}min(e,t){return this._addCheck({kind:"min",value:e.getTime(),message:bl.toString(t)})}max(e,t){return this._addCheck({kind:"max",value:e.getTime(),message:bl.toString(t)})}get minDate(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return null!=e?new Date(e):null}get maxDate(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.valuenew lc(l({checks:[],coerce:(null===e||void 0===e?void 0:e.coerce)||!1,typeName:Bc.ZodDate},Ol(e)));class cc extends Il{_parse(e){if(this._getType(e)!==hl.symbol){const t=this._getOrReturnCtx(e);return wl(t,{code:ml.invalid_type,expected:hl.symbol,received:t.parsedType}),Nl}return _l(e.data)}}cc.create=e=>new cc(l({typeName:Bc.ZodSymbol},Ol(e)));class dc extends Il{_parse(e){if(this._getType(e)!==hl.undefined){const t=this._getOrReturnCtx(e);return wl(t,{code:ml.invalid_type,expected:hl.undefined,received:t.parsedType}),Nl}return _l(e.data)}}dc.create=e=>new dc(l({typeName:Bc.ZodUndefined},Ol(e)));class uc extends Il{_parse(e){if(this._getType(e)!==hl.null){const t=this._getOrReturnCtx(e);return wl(t,{code:ml.invalid_type,expected:hl.null,received:t.parsedType}),Nl}return _l(e.data)}}uc.create=e=>new uc(l({typeName:Bc.ZodNull},Ol(e)));class hc extends Il{constructor(){super(...arguments),this._any=!0}_parse(e){return _l(e.data)}}hc.create=e=>new hc(l({typeName:Bc.ZodAny},Ol(e)));class pc extends Il{constructor(){super(...arguments),this._unknown=!0}_parse(e){return _l(e.data)}}pc.create=e=>new pc(l({typeName:Bc.ZodUnknown},Ol(e)));class mc extends Il{_parse(e){const t=this._getOrReturnCtx(e);return wl(t,{code:ml.invalid_type,expected:hl.never,received:t.parsedType}),Nl}}mc.create=e=>new mc(l({typeName:Bc.ZodNever},Ol(e)));class fc extends Il{_parse(e){if(this._getType(e)!==hl.undefined){const t=this._getOrReturnCtx(e);return wl(t,{code:ml.invalid_type,expected:hl.void,received:t.parsedType}),Nl}return _l(e.data)}}fc.create=e=>new fc(l({typeName:Bc.ZodVoid},Ol(e)));class gc extends Il{_parse(e){const t=this._processInputParams(e),n=t.ctx,r=t.status,a=this._def;if(n.parsedType!==hl.array)return wl(n,{code:ml.invalid_type,expected:hl.array,received:n.parsedType}),Nl;if(null!==a.exactLength){const e=n.data.length>a.exactLength.value,t=n.data.lengtha.maxLength.value&&(wl(n,{code:ml.too_big,maximum:a.maxLength.value,type:"array",inclusive:!0,exact:!1,message:a.maxLength.message}),r.dirty()),n.common.async)return Promise.all([...n.data].map((e,t)=>a.type._parseAsync(new Pl(n,e,n.path,t)))).then(e=>jl.mergeArray(r,e));const s=[...n.data].map((e,t)=>a.type._parseSync(new Pl(n,e,n.path,t)));return jl.mergeArray(r,s)}get element(){return this._def.type}min(e,t){return new gc(l(l({},this._def),{},{minLength:{value:e,message:bl.toString(t)}}))}max(e,t){return new gc(l(l({},this._def),{},{maxLength:{value:e,message:bl.toString(t)}}))}length(e,t){return new gc(l(l({},this._def),{},{exactLength:{value:e,message:bl.toString(t)}}))}nonempty(e){return this.min(1,e)}}function xc(e){if(e instanceof vc){const t={};for(const n in e.shape){const r=e.shape[n];t[n]=Oc.create(xc(r))}return new vc(l(l({},e._def),{},{shape:()=>t}))}return e instanceof gc?new gc(l(l({},e._def),{},{type:xc(e.element)})):e instanceof Oc?Oc.create(xc(e.unwrap())):e instanceof Ic?Ic.create(xc(e.unwrap())):e instanceof jc?jc.create(e.items.map(e=>xc(e))):e}gc.create=(e,t)=>new gc(l({type:e,minLength:null,maxLength:null,exactLength:null,typeName:Bc.ZodArray},Ol(t)));class vc extends Il{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(null!==this._cached)return this._cached;const e=this._def.shape(),t=dl.objectKeys(e);return this._cached={shape:e,keys:t},this._cached}_parse(e){if(this._getType(e)!==hl.object){const t=this._getOrReturnCtx(e);return wl(t,{code:ml.invalid_type,expected:hl.object,received:t.parsedType}),Nl}const t=this._processInputParams(e),n=t.status,r=t.ctx,a=this._getCached(),s=a.shape,i=a.keys,o=[];if(!(this._def.catchall instanceof mc&&"strip"===this._def.unknownKeys))for(const c in r.data)i.includes(c)||o.push(c);const l=[];for(const c of i){const e=s[c],t=r.data[c];l.push({key:{status:"valid",value:c},value:e._parse(new Pl(r,t,r.path,c)),alwaysSet:c in r.data})}if(this._def.catchall instanceof mc){const e=this._def.unknownKeys;if("passthrough"===e)for(const t of o)l.push({key:{status:"valid",value:t},value:{status:"valid",value:r.data[t]}});else if("strict"===e)o.length>0&&(wl(r,{code:ml.unrecognized_keys,keys:o}),n.dirty());else if("strip"!==e)throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const e=this._def.catchall;for(const t of o){const n=r.data[t];l.push({key:{status:"valid",value:t},value:e._parse(new Pl(r,n,r.path,t)),alwaysSet:t in r.data})}}return r.common.async?Promise.resolve().then(async()=>{const e=[];for(const t of l){const n=await t.key,r=await t.value;e.push({key:n,value:r,alwaysSet:t.alwaysSet})}return e}).then(e=>jl.mergeObjectSync(n,e)):jl.mergeObjectSync(n,l)}get shape(){return this._def.shape()}strict(e){return bl.errToObj,new vc(l(l({},this._def),{},{unknownKeys:"strict"},void 0!==e?{errorMap:(t,n)=>{var r,a,s,i;const o=null!==(r=null===(a=(s=this._def).errorMap)||void 0===a?void 0:a.call(s,t,n).message)&&void 0!==r?r:n.defaultError;return"unrecognized_keys"===t.code?{message:null!==(i=bl.errToObj(e).message)&&void 0!==i?i:o}:{message:o}}}:{}))}strip(){return new vc(l(l({},this._def),{},{unknownKeys:"strip"}))}passthrough(){return new vc(l(l({},this._def),{},{unknownKeys:"passthrough"}))}extend(e){return new vc(l(l({},this._def),{},{shape:()=>l(l({},this._def.shape()),e)}))}merge(e){return new vc({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>l(l({},this._def.shape()),e._def.shape()),typeName:Bc.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(e){return new vc(l(l({},this._def),{},{catchall:e}))}pick(e){const t={};for(const n of dl.objectKeys(e))e[n]&&this.shape[n]&&(t[n]=this.shape[n]);return new vc(l(l({},this._def),{},{shape:()=>t}))}omit(e){const t={};for(const n of dl.objectKeys(this.shape))e[n]||(t[n]=this.shape[n]);return new vc(l(l({},this._def),{},{shape:()=>t}))}deepPartial(){return xc(this)}partial(e){const t={};for(const n of dl.objectKeys(this.shape)){const r=this.shape[n];e&&!e[n]?t[n]=r:t[n]=r.optional()}return new vc(l(l({},this._def),{},{shape:()=>t}))}required(e){const t={};for(const n of dl.objectKeys(this.shape))if(e&&!e[n])t[n]=this.shape[n];else{let e=this.shape[n];for(;e instanceof Oc;)e=e._def.innerType;t[n]=e}return new vc(l(l({},this._def),{},{shape:()=>t}))}keyof(){return Sc(dl.objectKeys(this.shape))}}vc.create=(e,t)=>new vc(l({shape:()=>e,unknownKeys:"strip",catchall:mc.create(),typeName:Bc.ZodObject},Ol(t))),vc.strictCreate=(e,t)=>new vc(l({shape:()=>e,unknownKeys:"strict",catchall:mc.create(),typeName:Bc.ZodObject},Ol(t))),vc.lazycreate=(e,t)=>new vc(l({shape:e,unknownKeys:"strip",catchall:mc.create(),typeName:Bc.ZodObject},Ol(t)));class bc extends Il{_parse(e){const t=this._processInputParams(e).ctx,n=this._def.options;if(t.common.async)return Promise.all(n.map(async e=>{const n=l(l({},t),{},{common:l(l({},t.common),{},{issues:[]}),parent:null});return{result:await e._parseAsync({data:t.data,path:t.path,parent:n}),ctx:n}})).then(function(e){for(const t of e)if("valid"===t.result.status)return t.result;for(const r of e)if("dirty"===r.result.status)return t.common.issues.push(...r.ctx.common.issues),r.result;const n=e.map(e=>new fl(e.ctx.common.issues));return wl(t,{code:ml.invalid_union,unionErrors:n}),Nl});{let e;const r=[];for(const s of n){const n=l(l({},t),{},{common:l(l({},t.common),{},{issues:[]}),parent:null}),a=s._parseSync({data:t.data,path:t.path,parent:n});if("valid"===a.status)return a;"dirty"!==a.status||e||(e={result:a,ctx:n}),n.common.issues.length&&r.push(n.common.issues)}if(e)return t.common.issues.push(...e.ctx.common.issues),e.result;const a=r.map(e=>new fl(e));return wl(t,{code:ml.invalid_union,unionErrors:a}),Nl}}get options(){return this._def.options}}bc.create=(e,t)=>new bc(l({options:e,typeName:Bc.ZodUnion},Ol(t)));function yc(e,t){const n=pl(e),r=pl(t);if(e===t)return{valid:!0,data:e};if(n===hl.object&&r===hl.object){const n=dl.objectKeys(t),r=dl.objectKeys(e).filter(e=>-1!==n.indexOf(e)),a=l(l({},e),t);for(const s of r){const n=yc(e[s],t[s]);if(!n.valid)return{valid:!1};a[s]=n.data}return{valid:!0,data:a}}if(n===hl.array&&r===hl.array){if(e.length!==t.length)return{valid:!1};const n=[];for(let r=0;r{if(Cl(e)||Cl(t))return Nl;const a=yc(e.value,t.value);return a.valid?((Sl(e)||Sl(t))&&n.dirty(),{status:n.value,value:a.data}):(wl(r,{code:ml.invalid_intersection_types}),Nl)};return r.common.async?Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then(e=>{let t=p(e,2),n=t[0],r=t[1];return a(n,r)}):a(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}}wc.create=(e,t,n)=>new wc(l({left:e,right:t,typeName:Bc.ZodIntersection},Ol(n)));class jc extends Il{_parse(e){const t=this._processInputParams(e),n=t.status,r=t.ctx;if(r.parsedType!==hl.array)return wl(r,{code:ml.invalid_type,expected:hl.array,received:r.parsedType}),Nl;if(r.data.lengththis._def.items.length&&(wl(r,{code:ml.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),n.dirty());const a=[...r.data].map((e,t)=>{const n=this._def.items[t]||this._def.rest;return n?n._parse(new Pl(r,e,r.path,t)):null}).filter(e=>!!e);return r.common.async?Promise.all(a).then(e=>jl.mergeArray(n,e)):jl.mergeArray(n,a)}get items(){return this._def.items}rest(e){return new jc(l(l({},this._def),{},{rest:e}))}}jc.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new jc(l({items:e,typeName:Bc.ZodTuple,rest:null},Ol(t)))};class Nc extends Il{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const t=this._processInputParams(e),n=t.status,r=t.ctx;if(r.parsedType!==hl.map)return wl(r,{code:ml.invalid_type,expected:hl.map,received:r.parsedType}),Nl;const a=this._def.keyType,s=this._def.valueType,i=[...r.data.entries()].map((e,t)=>{let n=p(e,2),i=n[0],o=n[1];return{key:a._parse(new Pl(r,i,r.path,[t,"key"])),value:s._parse(new Pl(r,o,r.path,[t,"value"]))}});if(r.common.async){const e=new Map;return Promise.resolve().then(async()=>{for(const t of i){const r=await t.key,a=await t.value;if("aborted"===r.status||"aborted"===a.status)return Nl;"dirty"!==r.status&&"dirty"!==a.status||n.dirty(),e.set(r.value,a.value)}return{status:n.value,value:e}})}{const e=new Map;for(const t of i){const r=t.key,a=t.value;if("aborted"===r.status||"aborted"===a.status)return Nl;"dirty"!==r.status&&"dirty"!==a.status||n.dirty(),e.set(r.value,a.value)}return{status:n.value,value:e}}}}Nc.create=(e,t,n)=>new Nc(l({valueType:t,keyType:e,typeName:Bc.ZodMap},Ol(n)));class kc extends Il{_parse(e){const t=this._processInputParams(e),n=t.status,r=t.ctx;if(r.parsedType!==hl.set)return wl(r,{code:ml.invalid_type,expected:hl.set,received:r.parsedType}),Nl;const a=this._def;null!==a.minSize&&r.data.sizea.maxSize.value&&(wl(r,{code:ml.too_big,maximum:a.maxSize.value,type:"set",inclusive:!0,exact:!1,message:a.maxSize.message}),n.dirty());const s=this._def.valueType;function i(e){const t=new Set;for(const r of e){if("aborted"===r.status)return Nl;"dirty"===r.status&&n.dirty(),t.add(r.value)}return{status:n.value,value:t}}const o=[...r.data.values()].map((e,t)=>s._parse(new Pl(r,e,r.path,t)));return r.common.async?Promise.all(o).then(e=>i(e)):i(o)}min(e,t){return new kc(l(l({},this._def),{},{minSize:{value:e,message:bl.toString(t)}}))}max(e,t){return new kc(l(l({},this._def),{},{maxSize:{value:e,message:bl.toString(t)}}))}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}}kc.create=(e,t)=>new kc(l({valueType:e,minSize:null,maxSize:null,typeName:Bc.ZodSet},Ol(t)));class _c extends Il{get schema(){return this._def.getter()}_parse(e){const t=this._processInputParams(e).ctx;return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}}_c.create=(e,t)=>new _c(l({getter:e,typeName:Bc.ZodLazy},Ol(t)));class Cc extends Il{_parse(e){if(e.data!==this._def.value){const t=this._getOrReturnCtx(e);return wl(t,{received:t.data,code:ml.invalid_literal,expected:this._def.value}),Nl}return{status:"valid",value:e.data}}get value(){return this._def.value}}function Sc(e,t){return new Tc(l({values:e,typeName:Bc.ZodEnum},Ol(t)))}Cc.create=(e,t)=>new Cc(l({value:e,typeName:Bc.ZodLiteral},Ol(t)));class Tc extends Il{_parse(e){if("string"!==typeof e.data){const t=this._getOrReturnCtx(e),n=this._def.values;return wl(t,{expected:dl.joinValues(n),received:t.parsedType,code:ml.invalid_type}),Nl}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(e.data)){const t=this._getOrReturnCtx(e),n=this._def.values;return wl(t,{received:t.data,code:ml.invalid_enum_value,options:n}),Nl}return _l(e.data)}get options(){return this._def.values}get enum(){const e={};for(const t of this._def.values)e[t]=t;return e}get Values(){const e={};for(const t of this._def.values)e[t]=t;return e}get Enum(){const e={};for(const t of this._def.values)e[t]=t;return e}extract(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._def;return Tc.create(e,l(l({},this._def),t))}exclude(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._def;return Tc.create(this.options.filter(t=>!e.includes(t)),l(l({},this._def),t))}}Tc.create=Sc;class Ec extends Il{_parse(e){const t=dl.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==hl.string&&n.parsedType!==hl.number){const e=dl.objectValues(t);return wl(n,{expected:dl.joinValues(e),received:n.parsedType,code:ml.invalid_type}),Nl}if(this._cache||(this._cache=new Set(dl.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){const e=dl.objectValues(t);return wl(n,{received:n.data,code:ml.invalid_enum_value,options:e}),Nl}return _l(e.data)}get enum(){return this._def.values}}Ec.create=(e,t)=>new Ec(l({values:e,typeName:Bc.ZodNativeEnum},Ol(t)));class Pc extends Il{unwrap(){return this._def.type}_parse(e){const t=this._processInputParams(e).ctx;if(t.parsedType!==hl.promise&&!1===t.common.async)return wl(t,{code:ml.invalid_type,expected:hl.promise,received:t.parsedType}),Nl;const n=t.parsedType===hl.promise?t.data:Promise.resolve(t.data);return _l(n.then(e=>this._def.type.parseAsync(e,{path:t.path,errorMap:t.common.contextualErrorMap})))}}Pc.create=(e,t)=>new Pc(l({type:e,typeName:Bc.ZodPromise},Ol(t)));class Ac extends Il{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===Bc.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){const t=this._processInputParams(e),n=t.status,r=t.ctx,a=this._def.effect||null,s={addIssue:e=>{wl(r,e),e.fatal?n.abort():n.dirty()},get path(){return r.path}};if(s.addIssue=s.addIssue.bind(s),"preprocess"===a.type){const e=a.transform(r.data,s);if(r.common.async)return Promise.resolve(e).then(async e=>{if("aborted"===n.value)return Nl;const t=await this._def.schema._parseAsync({data:e,path:r.path,parent:r});return"aborted"===t.status?Nl:"dirty"===t.status||"dirty"===n.value?kl(t.value):t});{if("aborted"===n.value)return Nl;const t=this._def.schema._parseSync({data:e,path:r.path,parent:r});return"aborted"===t.status?Nl:"dirty"===t.status||"dirty"===n.value?kl(t.value):t}}if("refinement"===a.type){const e=e=>{const t=a.refinement(e,s);if(r.common.async)return Promise.resolve(t);if(t instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return e};if(!1===r.common.async){const t=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return"aborted"===t.status?Nl:("dirty"===t.status&&n.dirty(),e(t.value),{status:n.value,value:t.value})}return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(t=>"aborted"===t.status?Nl:("dirty"===t.status&&n.dirty(),e(t.value).then(()=>({status:n.value,value:t.value}))))}if("transform"===a.type){if(!1===r.common.async){const e=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(!Tl(e))return Nl;const t=a.transform(e.value,s);if(t instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:n.value,value:t}}return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(e=>Tl(e)?Promise.resolve(a.transform(e.value,s)).then(e=>({status:n.value,value:e})):Nl)}dl.assertNever(a)}}Ac.create=(e,t,n)=>new Ac(l({schema:e,typeName:Bc.ZodEffects,effect:t},Ol(n))),Ac.createWithPreprocess=(e,t,n)=>new Ac(l({schema:t,effect:{type:"preprocess",transform:e},typeName:Bc.ZodEffects},Ol(n)));class Oc extends Il{_parse(e){return this._getType(e)===hl.undefined?_l(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}Oc.create=(e,t)=>new Oc(l({innerType:e,typeName:Bc.ZodOptional},Ol(t)));class Ic extends Il{_parse(e){return this._getType(e)===hl.null?_l(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}Ic.create=(e,t)=>new Ic(l({innerType:e,typeName:Bc.ZodNullable},Ol(t)));class Dc extends Il{_parse(e){const t=this._processInputParams(e).ctx;let n=t.data;return t.parsedType===hl.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:t.path,parent:t})}removeDefault(){return this._def.innerType}}Dc.create=(e,t)=>new Dc(l({innerType:e,typeName:Bc.ZodDefault,defaultValue:"function"===typeof t.default?t.default:()=>t.default},Ol(t)));class Fc extends Il{_parse(e){const t=this._processInputParams(e).ctx,n=l(l({},t),{},{common:l(l({},t.common),{},{issues:[]})}),r=this._def.innerType._parse({data:n.data,path:n.path,parent:l({},n)});return El(r)?r.then(e=>({status:"valid",value:"valid"===e.status?e.value:this._def.catchValue({get error(){return new fl(n.common.issues)},input:n.data})})):{status:"valid",value:"valid"===r.status?r.value:this._def.catchValue({get error(){return new fl(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}}Fc.create=(e,t)=>new Fc(l({innerType:e,typeName:Bc.ZodCatch,catchValue:"function"===typeof t.catch?t.catch:()=>t.catch},Ol(t)));class Rc extends Il{_parse(e){if(this._getType(e)!==hl.nan){const t=this._getOrReturnCtx(e);return wl(t,{code:ml.invalid_type,expected:hl.nan,received:t.parsedType}),Nl}return{status:"valid",value:e.data}}}Rc.create=e=>new Rc(l({typeName:Bc.ZodNaN},Ol(e)));Symbol("zod_brand");class Mc extends Il{_parse(e){const t=this._processInputParams(e).ctx,n=t.data;return this._def.type._parse({data:n,path:t.path,parent:t})}unwrap(){return this._def.type}}class Lc extends Il{_parse(e){const t=this._processInputParams(e),n=t.status,r=t.ctx;if(r.common.async){return(async()=>{const e=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return"aborted"===e.status?Nl:"dirty"===e.status?(n.dirty(),kl(e.value)):this._def.out._parseAsync({data:e.value,path:r.path,parent:r})})()}{const e=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return"aborted"===e.status?Nl:"dirty"===e.status?(n.dirty(),{status:"dirty",value:e.value}):this._def.out._parseSync({data:e.value,path:r.path,parent:r})}}static create(e,t){return new Lc({in:e,out:t,typeName:Bc.ZodPipeline})}}class zc extends Il{_parse(e){const t=this._def.innerType._parse(e),n=e=>(Tl(e)&&(e.value=Object.freeze(e.value)),e);return El(t)?t.then(e=>n(e)):n(t)}unwrap(){return this._def.innerType}}zc.create=(e,t)=>new zc(l({innerType:e,typeName:Bc.ZodReadonly},Ol(t)));vc.lazycreate;var Bc;!function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"}(Bc||(Bc={}));const Uc=rc.create,Vc=(sc.create,Rc.create,ic.create,oc.create,lc.create,cc.create,dc.create,uc.create,hc.create,pc.create,mc.create,fc.create,gc.create,vc.create),Wc=(vc.strictCreate,bc.create,wc.create,jc.create,Nc.create,kc.create,_c.create,Cc.create,Tc.create,Ec.create,Pc.create,Ac.create,Oc.create,Ic.create,Ac.createWithPreprocess,Lc.create,()=>{const t=p((0,e.useState)(!1),2),n=t[0],r=t[1],a=p((0,e.useState)({amount:"",name:"",email:""}),2),s=a[0],i=a[1],o=p((0,e.useState)({amount:"",name:"",email:""}),2),c=o[0],d=o[1],u=Vc({amount:Uc().regex(/^\d+$/,{message:"Amount must be a number"}).min(1,{message:"Amount is required"}),name:Uc().min(1,{message:"Name is required"}),email:Uc().email({message:"Invalid email format"})});(0,e.useEffect)(()=>(document.body.style.backgroundColor="#3f434a",()=>{document.body.style.backgroundColor=""}),[]);const h={width:"100%",textAlign:"left",marginBottom:"10px",fontWeight:"600",color:"#eeeeee"},m={width:"100%",padding:"14px",marginBottom:"20px",borderRadius:"12px",border:"1px solid rgba(255, 255, 255, 0.4)",background:"rgba(255, 255, 255, 0.2)",color:"#ffffff",boxShadow:"0 4px 15px rgba(0, 0, 0, 0.2)",transition:"border-color 0.4s ease, transform 0.3s ease",backdropFilter:"blur(5px)"},f={borderColor:"#00c6ff",transform:"scale(1.02)"},g={marginTop:"10px",padding:"14px 24px",background:n?"linear-gradient(90deg, #00c6ff, #0072ff)":"linear-gradient(90deg, #0072ff, #00c6ff)",color:"#ffffff",border:"none",borderRadius:"25px",fontSize:"1.2rem",cursor:"pointer",transition:"background 0.4s ease, transform 0.3s ease",boxShadow:"0 4px 15px rgba(0, 198, 255, 0.4)"},x={color:"red",fontSize:"1.2rem"},v=e=>{const t=e.target,n=t.name,r=t.value;i(e=>l(l({},e),{},{[n]:r}))};return(0,Ve.jsxs)("div",{style:{maxWidth:"500px",margin:"70px auto",padding:"40px",background:"linear-gradient(180deg, rgba(255, 255, 255, 0.01), rgba(255, 255, 255, 0.1)",borderRadius:"20px",border:"1px solid rgba(255, 255, 255, 0.2)",textAlign:"center",fontFamily:"'Poppins', sans-serif",color:"#ffffff"},children:[(0,Ve.jsx)("h1",{style:{fontSize:"2.5rem",fontWeight:"bold",marginBottom:"20px",background:"linear-gradient(90deg, #00c6ff, #0072ff)",WebkitBackgroundClip:"text",WebkitTextFillColor:"transparent"},children:"Support Us!"}),(0,Ve.jsx)("p",{style:{fontSize:"1.2rem",marginBottom:"30px",color:"#e0e0e0"},children:"Your contributions help us continue our work."}),(0,Ve.jsxs)("form",{noValidate:!0,style:{display:"flex",flexDirection:"column",alignItems:"center"},onSubmit:e=>{e.preventDefault();try{u.parse(s),d({amount:"",name:"",email:""}),alert("Form submitted successfully!")}catch(t){const e={};t.errors.forEach(t=>{e[t.path[0]]=t.message}),d(e)}},children:[(0,Ve.jsx)("label",{htmlFor:"amount",style:h,children:"Donation Amount:"}),(0,Ve.jsx)("input",{type:"text",id:"amount",name:"amount",placeholder:"Enter amount in Rupees",style:l(l({},m),s.amount?f:{}),value:s.amount,onChange:v,required:!0}),c.amount&&(0,Ve.jsx)("p",{style:x,children:c.amount}),(0,Ve.jsx)("label",{htmlFor:"name",style:h,children:"Your Name:"}),(0,Ve.jsx)("input",{type:"text",id:"name",name:"name",placeholder:"Enter your name",style:l(l({},m),s.name?f:{}),value:s.name,onChange:v,required:!0}),c.name&&(0,Ve.jsx)("p",{style:x,children:c.name}),(0,Ve.jsx)("label",{htmlFor:"email",style:h,children:"Your Email:"}),(0,Ve.jsx)("input",{type:"email",id:"email",name:"email",placeholder:"Enter your email",style:l(l({},m),s.email?f:{}),value:s.email,onChange:v,required:!0}),c.email&&(0,Ve.jsx)("p",{style:x,children:c.email}),(0,Ve.jsx)("button",{type:"submit",style:l(l({},g),n?{transform:"scale(1.05)"}:{}),onMouseEnter:()=>{r(!0)},onMouseLeave:()=>{r(!1)},children:"Donate Now"})]})]})}),Hc=e=>{let t=e.icon,n=e.title,r=e.desc;return(0,Ve.jsxs)("div",{className:"about-who-card",children:[(0,Ve.jsx)("div",{className:"about-who-icon",children:t}),(0,Ve.jsx)("h3",{className:"about-who-title",children:n}),(0,Ve.jsx)("p",{className:"about-who-desc",children:r})]})},Gc=e=>{let t=e.shortName,n=e.fullName,r=e.years,a=e.desc,s=e.colorA,i=e.colorB;return(0,Ve.jsxs)("div",{className:"about-program-card",style:{borderColor:"".concat(s,"30")},children:[(0,Ve.jsx)("div",{className:"about-program-glow",style:{background:"radial-gradient(ellipse at 0% 0%, ".concat(s,"20, transparent 70%)")}}),(0,Ve.jsxs)("div",{className:"about-program-top",children:[(0,Ve.jsx)("span",{className:"about-program-logo",style:{background:"linear-gradient(135deg, ".concat(s,", ").concat(i,")")},children:t}),(0,Ve.jsx)("div",{className:"about-program-years",children:r.map(e=>(0,Ve.jsx)("span",{className:"about-program-year",style:{color:s,background:"".concat(s,"15"),borderColor:"".concat(s,"40")},children:e},e))})]}),(0,Ve.jsx)("h3",{className:"about-program-name",children:n}),(0,Ve.jsx)("p",{className:"about-program-desc",children:a}),(0,Ve.jsx)("span",{className:"about-program-badge",style:{color:s,background:"".concat(s,"12"),borderColor:"".concat(s,"38")},children:"\u2713 Officially Selected"})]})},Kc=()=>(0,Ve.jsxs)("div",{className:"about-root",children:[(0,Ve.jsx)("div",{className:"about-orb-1"}),(0,Ve.jsx)("div",{className:"about-orb-2"}),(0,Ve.jsx)(He,{}),(0,Ve.jsxs)("div",{className:"about-inner",children:[(0,Ve.jsxs)("div",{className:"about-header",children:[(0,Ve.jsx)("span",{className:"section-label",children:"Who we are"}),(0,Ve.jsx)("h1",{className:"about-title",children:"About GlassyUI"}),(0,Ve.jsx)("p",{className:"about-lead",children:"Your journey to beautiful, glassy UI components starts here \u2014 built by the community, for the community."})]}),(0,Ve.jsx)("div",{className:"about-section",children:(0,Ve.jsxs)("div",{className:"about-card",children:[(0,Ve.jsx)("p",{className:"about-section-title",children:"Our Mission"}),(0,Ve.jsxs)("p",{className:"about-text",children:["At ",(0,Ve.jsx)("strong",{style:{color:"#a78bfa"},children:"GlassyUI-Components"}),", we are more than just a library. We are a community-driven organization dedicated to making a meaningful impact in the world of web development. Our mission is to unite creators, foster collaboration, and pave the way for a brighter future through innovation."]})]})}),(0,Ve.jsxs)("div",{className:"about-section",children:[(0,Ve.jsx)("p",{className:"about-section-title",style:{marginBottom:20},children:"Who We Welcome"}),(0,Ve.jsxs)("div",{className:"about-who-grid",children:[(0,Ve.jsx)(Hc,{icon:"\u26a1",title:"Developers",desc:"Whether you are just starting out or a seasoned expert, your skills can help shape our offerings."}),(0,Ve.jsx)(Hc,{icon:"\ud83c\udfa8",title:"Designers",desc:"Bring your unique vision and creativity to enhance our beautiful glassmorphism components."}),(0,Ve.jsx)(Hc,{icon:"\ud83e\udd1d",title:"Contributors",desc:"If you share our passion for building stunning user experiences, we invite you to join our journey."})]})]}),(0,Ve.jsx)("div",{className:"about-section",children:(0,Ve.jsxs)("div",{className:"about-card",children:[(0,Ve.jsx)("p",{className:"about-section-title",children:"Achieving Together"}),(0,Ve.jsx)("p",{className:"about-text",children:"Together, we can achieve incredible things. Let's collaborate, innovate, and transform ideas into reality. Join us in crafting a more beautiful and functional web for everyone."})]})}),(0,Ve.jsxs)("div",{className:"about-section",children:[(0,Ve.jsx)("p",{className:"about-section-title",style:{marginBottom:20},children:"Officially Selected For"}),(0,Ve.jsxs)("div",{className:"about-programs-grid",children:[(0,Ve.jsx)(Gc,{shortName:"GSSoC",fullName:"GirlScript Summer of Code",years:["2025","2026"],desc:"Selected as an official project for both GSSoC 2025 and 2026, welcoming student contributors every summer.",colorA:"#7B2FBE",colorB:"#E91E8C"}),(0,Ve.jsx)(Gc,{shortName:"HTF",fullName:"Hacktoberfest",years:["2025"],desc:"An official Hacktoberfest 2025 participating repository \u2014 contribute in October and earn exclusive swag.",colorA:"#FF6B00",colorB:"#DC2626"})]})]}),(0,Ve.jsxs)("div",{className:"about-footer",children:[(0,Ve.jsx)("p",{style:{color:"#475569",fontSize:14,margin:0},children:"Follow us on GitHub to stay updated with the latest releases."}),(0,Ve.jsxs)("a",{href:"https://github.com/Jaishree2310/GlassyUI-Components",target:"_blank",rel:"noopener noreferrer",className:"about-github-btn",children:[(0,Ve.jsx)(Ko,{size:18}),"View on GitHub"]})]})]})]}),qc=function(e){const t=[];let n=0;for(let r=0;r>6|192,t[n++]=63&a|128):55296===(64512&a)&&r+1>18|240,t[n++]=a>>12&63|128,t[n++]=a>>6&63|128,t[n++]=63&a|128):(t[n++]=a>>12|224,t[n++]=a>>6&63|128,t[n++]=63&a|128)}return t},$c={byteToCharMap_:null,charToByteMap_:null,byteToCharMapWebSafe_:null,charToByteMapWebSafe_:null,ENCODED_VALS_BASE:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",get ENCODED_VALS(){return this.ENCODED_VALS_BASE+"+/="},get ENCODED_VALS_WEBSAFE(){return this.ENCODED_VALS_BASE+"-_."},HAS_NATIVE_SUPPORT:"function"===typeof atob,encodeByteArray(e,t){if(!Array.isArray(e))throw Error("encodeByteArray takes an array as a parameter");this.init_();const n=t?this.byteToCharMapWebSafe_:this.byteToCharMap_,r=[];for(let a=0;a>2,d=(3&t)<<4|i>>4;let u=(15&i)<<2|l>>6,h=63&l;o||(h=64,s||(u=64)),r.push(n[c],n[d],n[u],n[h])}return r.join("")},encodeString(e,t){return this.HAS_NATIVE_SUPPORT&&!t?btoa(e):this.encodeByteArray(qc(e),t)},decodeString(e,t){return this.HAS_NATIVE_SUPPORT&&!t?atob(e):function(e){const t=[];let n=0,r=0;for(;n191&&a<224){const s=e[n++];t[r++]=String.fromCharCode((31&a)<<6|63&s)}else if(a>239&&a<365){const s=((7&a)<<18|(63&e[n++])<<12|(63&e[n++])<<6|63&e[n++])-65536;t[r++]=String.fromCharCode(55296+(s>>10)),t[r++]=String.fromCharCode(56320+(1023&s))}else{const s=e[n++],i=e[n++];t[r++]=String.fromCharCode((15&a)<<12|(63&s)<<6|63&i)}}return t.join("")}(this.decodeStringToByteArray(e,t))},decodeStringToByteArray(e,t){this.init_();const n=t?this.charToByteMapWebSafe_:this.charToByteMap_,r=[];for(let a=0;a>4;if(r.push(l),64!==i){const e=s<<4&240|i>>2;if(r.push(e),64!==o){const e=i<<6&192|o;r.push(e)}}}return r},init_(){if(!this.byteToCharMap_){this.byteToCharMap_={},this.charToByteMap_={},this.byteToCharMapWebSafe_={},this.charToByteMapWebSafe_={};for(let e=0;e=this.ENCODED_VALS_BASE.length&&(this.charToByteMap_[this.ENCODED_VALS_WEBSAFE.charAt(e)]=e,this.charToByteMapWebSafe_[this.ENCODED_VALS.charAt(e)]=e)}}};class Zc extends Error{constructor(){super(...arguments),this.name="DecodeBase64StringError"}}const Yc=function(e){return function(e){const t=qc(e);return $c.encodeByteArray(t,!0)}(e).replace(/\./g,"")},Xc=function(e){try{return $c.decodeString(e,!0)}catch(yS){console.error("base64Decode failed: ",yS)}return null};const Jc=()=>function(){if("undefined"!==typeof self)return self;if("undefined"!==typeof window)return window;if("undefined"!==typeof n.g)return n.g;throw new Error("Unable to locate global object.")}().__FIREBASE_DEFAULTS__,Qc=()=>{try{return Jc()||(()=>{if("undefined"===typeof process)return;const e={NODE_ENV:"production",PUBLIC_URL:"",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0}.__FIREBASE_DEFAULTS__;return e?JSON.parse(e):void 0})()||(()=>{if("undefined"===typeof document)return;let e;try{e=document.cookie.match(/__FIREBASE_DEFAULTS__=([^;]+)/)}catch(yS){return}const t=e&&Xc(e[1]);return t&&JSON.parse(t)})()}catch(yS){return void console.info("Unable to get __FIREBASE_DEFAULTS__ due to: ".concat(yS))}},ed=e=>{var t,n;return null===(n=null===(t=Qc())||void 0===t?void 0:t.emulatorHosts)||void 0===n?void 0:n[e]},td=()=>{var e;return null===(e=Qc())||void 0===e?void 0:e.config},nd=e=>{var t;return null===(t=Qc())||void 0===t?void 0:t["_".concat(e)]};class rd{constructor(){this.reject=()=>{},this.resolve=()=>{},this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}wrapCallback(e){return(t,n)=>{t?this.reject(t):this.resolve(n),"function"===typeof e&&(this.promise.catch(()=>{}),1===e.length?e(t):e(t,n))}}}function ad(e){try{return(e.startsWith("http://")||e.startsWith("https://")?new URL(e).hostname:e).endsWith(".cloudworkstations.dev")}catch(t){return!1}}const sd={};let id=!1;function od(e,t){if("undefined"===typeof window||"undefined"===typeof document||!ad(window.location.host)||sd[e]===t||sd[e]||id)return;function n(e){return"__firebase__banner__".concat(e)}sd[e]=t;const r="__firebase__banner",a=function(){const e={prod:[],emulator:[]};for(const t of Object.keys(sd))sd[t]?e.emulator.push(t):e.prod.push(t);return e}().prod.length>0;function s(){const e=document.createElement("span");return e.style.cursor="pointer",e.style.marginLeft="16px",e.style.fontSize="24px",e.innerHTML=" ×",e.onclick=()=>{id=!0,function(){const e=document.getElementById(r);e&&e.remove()}()},e}function i(){const e=function(e){let t=document.getElementById(e),n=!1;return t||(t=document.createElement("div"),t.setAttribute("id",e),n=!0),{created:n,element:t}}(r),t=n("text"),i=document.getElementById(t)||document.createElement("span"),o=n("learnmore"),l=document.getElementById(o)||document.createElement("a"),c=n("preprendIcon"),d=document.getElementById(c)||document.createElementNS("http://www.w3.org/2000/svg","svg");if(e.created){const t=e.element;!function(e){e.style.display="flex",e.style.background="#7faaf0",e.style.position="fixed",e.style.bottom="5px",e.style.left="5px",e.style.padding=".5em",e.style.borderRadius="5px",e.style.alignItems="center"}(t),function(e,t){e.setAttribute("id",t),e.innerText="Learn more",e.href="https://firebase.google.com/docs/studio/preview-apps#preview-backend",e.setAttribute("target","__blank"),e.style.paddingLeft="5px",e.style.textDecoration="underline"}(l,o);const n=s();!function(e,t){e.setAttribute("width","24"),e.setAttribute("id",t),e.setAttribute("height","24"),e.setAttribute("viewBox","0 0 24 24"),e.setAttribute("fill","none"),e.style.marginLeft="-6px"}(d,c),t.append(d,i,l,n),document.body.appendChild(t)}a?(i.innerText="Preview backend disconnected.",d.innerHTML='\n\n\n\n\n\n\n'):(d.innerHTML='\n\n\n\n\n\n\n',i.innerText="Preview backend running in this workspace."),i.setAttribute("id",t)}"loading"===document.readyState?window.addEventListener("DOMContentLoaded",i):i()}function ld(){return"undefined"!==typeof navigator&&"string"===typeof navigator.userAgent?navigator.userAgent:""}class cd extends Error{constructor(e,t,n){super(t),this.code=e,this.customData=n,this.name="FirebaseError",Object.setPrototypeOf(this,cd.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,dd.prototype.create)}}class dd{constructor(e,t,n){this.service=e,this.serviceName=t,this.errors=n}create(e){const t=(arguments.length<=1?void 0:arguments[1])||{},n="".concat(this.service,"/").concat(e),r=this.errors[e],a=r?function(e,t){return e.replace(ud,(e,n)=>{const r=t[n];return null!=r?String(r):"<".concat(n,"?>")})}(r,t):"Error",s="".concat(this.serviceName,": ").concat(a," (").concat(n,").");return new cd(n,s,t)}}const ud=/\{\$([^}]+)}/g;function hd(e,t){if(e===t)return!0;const n=Object.keys(e),r=Object.keys(t);for(const a of n){if(!r.includes(a))return!1;const n=e[a],s=t[a];if(pd(n)&&pd(s)){if(!hd(n,s))return!1}else if(n!==s)return!1}for(const a of r)if(!n.includes(a))return!1;return!0}function pd(e){return null!==e&&"object"===typeof e}function md(e){const t=[];for(const r of Object.entries(e)){var n=p(r,2);const e=n[0],a=n[1];Array.isArray(a)?a.forEach(n=>{t.push(encodeURIComponent(e)+"="+encodeURIComponent(n))}):t.push(encodeURIComponent(e)+"="+encodeURIComponent(a))}return t.length?"&"+t.join("&"):""}function fd(e){const t={};return e.replace(/^\?/,"").split("&").forEach(e=>{if(e){const n=p(e.split("="),2),r=n[0],a=n[1];t[decodeURIComponent(r)]=decodeURIComponent(a)}}),t}function gd(e){const t=e.indexOf("?");if(!t)return"";const n=e.indexOf("#",t);return e.substring(t,n>0?n:void 0)}class xd{constructor(e,t){this.observers=[],this.unsubscribes=[],this.observerCount=0,this.task=Promise.resolve(),this.finalized=!1,this.onNoObservers=t,this.task.then(()=>{e(this)}).catch(e=>{this.error(e)})}next(e){this.forEachObserver(t=>{t.next(e)})}error(e){this.forEachObserver(t=>{t.error(e)}),this.close(e)}complete(){this.forEachObserver(e=>{e.complete()}),this.close()}subscribe(e,t,n){let r;if(void 0===e&&void 0===t&&void 0===n)throw new Error("Missing Observer.");r=function(e,t){if("object"!==typeof e||null===e)return!1;for(const n of t)if(n in e&&"function"===typeof e[n])return!0;return!1}(e,["next","error","complete"])?e:{next:e,error:t,complete:n},void 0===r.next&&(r.next=vd),void 0===r.error&&(r.error=vd),void 0===r.complete&&(r.complete=vd);const a=this.unsubscribeOne.bind(this,this.observers.length);return this.finalized&&this.task.then(()=>{try{this.finalError?r.error(this.finalError):r.complete()}catch(yS){}}),this.observers.push(r),a}unsubscribeOne(e){void 0!==this.observers&&void 0!==this.observers[e]&&(delete this.observers[e],this.observerCount-=1,0===this.observerCount&&void 0!==this.onNoObservers&&this.onNoObservers(this))}forEachObserver(e){if(!this.finalized)for(let t=0;t{if(void 0!==this.observers&&void 0!==this.observers[e])try{t(this.observers[e])}catch(yS){"undefined"!==typeof console&&console.error&&console.error(yS)}})}close(e){this.finalized||(this.finalized=!0,void 0!==e&&(this.finalError=e),this.task.then(()=>{this.observers=void 0,this.onNoObservers=void 0}))}}function vd(){}function bd(e){return e&&e._delegate?e._delegate:e}class yd{constructor(e,t,n){this.name=e,this.instanceFactory=t,this.type=n,this.multipleInstances=!1,this.serviceProps={},this.instantiationMode="LAZY",this.onInstanceCreated=null}setInstantiationMode(e){return this.instantiationMode=e,this}setMultipleInstances(e){return this.multipleInstances=e,this}setServiceProps(e){return this.serviceProps=e,this}setInstanceCreatedCallback(e){return this.onInstanceCreated=e,this}}const wd="[DEFAULT]";class jd{constructor(e,t){this.name=e,this.container=t,this.component=null,this.instances=new Map,this.instancesDeferred=new Map,this.instancesOptions=new Map,this.onInitCallbacks=new Map}get(e){const t=this.normalizeInstanceIdentifier(e);if(!this.instancesDeferred.has(t)){const e=new rd;if(this.instancesDeferred.set(t,e),this.isInitialized(t)||this.shouldAutoInitialize())try{const n=this.getOrInitializeService({instanceIdentifier:t});n&&e.resolve(n)}catch(yS){}}return this.instancesDeferred.get(t).promise}getImmediate(e){var t;const n=this.normalizeInstanceIdentifier(null===e||void 0===e?void 0:e.identifier),r=null!==(t=null===e||void 0===e?void 0:e.optional)&&void 0!==t&&t;if(!this.isInitialized(n)&&!this.shouldAutoInitialize()){if(r)return null;throw Error("Service ".concat(this.name," is not available"))}try{return this.getOrInitializeService({instanceIdentifier:n})}catch(yS){if(r)return null;throw yS}}getComponent(){return this.component}setComponent(e){if(e.name!==this.name)throw Error("Mismatching Component ".concat(e.name," for Provider ").concat(this.name,"."));if(this.component)throw Error("Component for ".concat(this.name," has already been provided"));if(this.component=e,this.shouldAutoInitialize()){if(function(e){return"EAGER"===e.instantiationMode}(e))try{this.getOrInitializeService({instanceIdentifier:wd})}catch(yS){}for(const e of this.instancesDeferred.entries()){var t=p(e,2);const n=t[0],r=t[1],a=this.normalizeInstanceIdentifier(n);try{const e=this.getOrInitializeService({instanceIdentifier:a});r.resolve(e)}catch(yS){}}}}clearInstance(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:wd;this.instancesDeferred.delete(e),this.instancesOptions.delete(e),this.instances.delete(e)}async delete(){const e=Array.from(this.instances.values());await Promise.all([...e.filter(e=>"INTERNAL"in e).map(e=>e.INTERNAL.delete()),...e.filter(e=>"_delete"in e).map(e=>e._delete())])}isComponentSet(){return null!=this.component}isInitialized(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:wd;return this.instances.has(e)}getOptions(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:wd;return this.instancesOptions.get(e)||{}}initialize(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t=e.options,n=void 0===t?{}:t,r=this.normalizeInstanceIdentifier(e.instanceIdentifier);if(this.isInitialized(r))throw Error("".concat(this.name,"(").concat(r,") has already been initialized"));if(!this.isComponentSet())throw Error("Component ".concat(this.name," has not been registered yet"));const a=this.getOrInitializeService({instanceIdentifier:r,options:n});for(const i of this.instancesDeferred.entries()){var s=p(i,2);const e=s[0],t=s[1];r===this.normalizeInstanceIdentifier(e)&&t.resolve(a)}return a}onInit(e,t){var n;const r=this.normalizeInstanceIdentifier(t),a=null!==(n=this.onInitCallbacks.get(r))&&void 0!==n?n:new Set;a.add(e),this.onInitCallbacks.set(r,a);const s=this.instances.get(r);return s&&e(s,r),()=>{a.delete(e)}}invokeOnInitCallbacks(e,t){const n=this.onInitCallbacks.get(t);if(n)for(const a of n)try{a(e,t)}catch(r){}}getOrInitializeService(e){let t=e.instanceIdentifier,n=e.options,r=void 0===n?{}:n,a=this.instances.get(t);if(!a&&this.component&&(a=this.component.instanceFactory(this.container,{instanceIdentifier:(s=t,s===wd?void 0:s),options:r}),this.instances.set(t,a),this.instancesOptions.set(t,r),this.invokeOnInitCallbacks(a,t),this.component.onInstanceCreated))try{this.component.onInstanceCreated(this.container,t,a)}catch(i){}var s;return a||null}normalizeInstanceIdentifier(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:wd;return this.component?this.component.multipleInstances?e:wd:e}shouldAutoInitialize(){return!!this.component&&"EXPLICIT"!==this.component.instantiationMode}}class Nd{constructor(e){this.name=e,this.providers=new Map}addComponent(e){const t=this.getProvider(e.name);if(t.isComponentSet())throw new Error("Component ".concat(e.name," has already been registered with ").concat(this.name));t.setComponent(e)}addOrOverwriteComponent(e){this.getProvider(e.name).isComponentSet()&&this.providers.delete(e.name),this.addComponent(e)}getProvider(e){if(this.providers.has(e))return this.providers.get(e);const t=new jd(e,this);return this.providers.set(e,t),t}getProviders(){return Array.from(this.providers.values())}}const kd=[];var _d;!function(e){e[e.DEBUG=0]="DEBUG",e[e.VERBOSE=1]="VERBOSE",e[e.INFO=2]="INFO",e[e.WARN=3]="WARN",e[e.ERROR=4]="ERROR",e[e.SILENT=5]="SILENT"}(_d||(_d={}));const Cd={debug:_d.DEBUG,verbose:_d.VERBOSE,info:_d.INFO,warn:_d.WARN,error:_d.ERROR,silent:_d.SILENT},Sd=_d.INFO,Td={[_d.DEBUG]:"log",[_d.VERBOSE]:"log",[_d.INFO]:"info",[_d.WARN]:"warn",[_d.ERROR]:"error"},Ed=function(e,t){if(t2?a-2:0),i=2;i(e[t]=n,!0),has:(e,t)=>e instanceof IDBTransaction&&("done"===t||"store"===t)||t in e};function zd(e){return e!==IDBDatabase.prototype.transaction||"objectStoreNames"in IDBTransaction.prototype?(Od||(Od=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])).includes(e)?function(){for(var t=arguments.length,n=new Array(t),r=0;r1?n-1:0),a=1;a{const r=()=>{e.removeEventListener("complete",a),e.removeEventListener("error",s),e.removeEventListener("abort",s)},a=()=>{t(),r()},s=()=>{n(e.error||new DOMException("AbortError","AbortError")),r()};e.addEventListener("complete",a),e.addEventListener("error",s),e.addEventListener("abort",s)});Dd.set(e,t)}(e),t=e,(Ad||(Ad=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])).some(e=>t instanceof e)?new Proxy(e,Ld):e);var t}function Ud(e){if(e instanceof IDBRequest)return function(e){const t=new Promise((t,n)=>{const r=()=>{e.removeEventListener("success",a),e.removeEventListener("error",s)},a=()=>{t(Ud(e.result)),r()},s=()=>{n(e.error),r()};e.addEventListener("success",a),e.addEventListener("error",s)});return t.then(t=>{t instanceof IDBCursor&&Id.set(t,e)}).catch(()=>{}),Md.set(t,e),t}(e);if(Rd.has(e))return Rd.get(e);const t=Bd(e);return t!==e&&(Rd.set(e,t),Md.set(t,e)),t}const Vd=e=>Md.get(e);const Wd=["get","getKey","getAll","getAllKeys","count"],Hd=["put","add","delete","clear"],Gd=new Map;function Kd(e,t){if(!(e instanceof IDBDatabase)||t in e||"string"!==typeof t)return;if(Gd.get(t))return Gd.get(t);const n=t.replace(/FromIndex$/,""),r=t!==n,a=Hd.includes(n);if(!(n in(r?IDBIndex:IDBObjectStore).prototype)||!a&&!Wd.includes(n))return;const s=async function(e){const t=this.transaction(e,a?"readwrite":"readonly");let s=t.store;for(var i=arguments.length,o=new Array(i>1?i-1:0),l=1;ll(l({},e),{},{get:(t,n,r)=>Kd(t,n)||e.get(t,n,r),has:(t,n)=>!!Kd(t,n)||e.has(t,n)}))(Ld);class qd{constructor(e){this.container=e}getPlatformInfoString(){return this.container.getProviders().map(e=>{if(function(e){const t=e.getComponent();return"VERSION"===(null===t||void 0===t?void 0:t.type)}(e)){const t=e.getImmediate();return"".concat(t.library,"/").concat(t.version)}return null}).filter(e=>e).join(" ")}}const $d="@firebase/app",Zd="0.13.2",Yd=new Pd("@firebase/app"),Xd="@firebase/app-compat",Jd="@firebase/analytics-compat",Qd="@firebase/analytics",eu="@firebase/app-check-compat",tu="@firebase/app-check",nu="@firebase/auth",ru="@firebase/auth-compat",au="@firebase/database",su="@firebase/data-connect",iu="@firebase/database-compat",ou="@firebase/functions",lu="@firebase/functions-compat",cu="@firebase/installations",du="@firebase/installations-compat",uu="@firebase/messaging",hu="@firebase/messaging-compat",pu="@firebase/performance",mu="@firebase/performance-compat",fu="@firebase/remote-config",gu="@firebase/remote-config-compat",xu="@firebase/storage",vu="@firebase/storage-compat",bu="@firebase/firestore",yu="@firebase/ai",wu="@firebase/firestore-compat",ju="firebase",Nu="[DEFAULT]",ku={[$d]:"fire-core",[Xd]:"fire-core-compat",[Qd]:"fire-analytics",[Jd]:"fire-analytics-compat",[tu]:"fire-app-check",[eu]:"fire-app-check-compat",[nu]:"fire-auth",[ru]:"fire-auth-compat",[au]:"fire-rtdb",[su]:"fire-data-connect",[iu]:"fire-rtdb-compat",[ou]:"fire-fn",[lu]:"fire-fn-compat",[cu]:"fire-iid",[du]:"fire-iid-compat",[uu]:"fire-fcm",[hu]:"fire-fcm-compat",[pu]:"fire-perf",[mu]:"fire-perf-compat",[fu]:"fire-rc",[gu]:"fire-rc-compat",[xu]:"fire-gcs",[vu]:"fire-gcs-compat",[bu]:"fire-fst",[wu]:"fire-fst-compat",[yu]:"fire-vertex","fire-js":"fire-js",[ju]:"fire-js-all"},_u=new Map,Cu=new Map,Su=new Map;function Tu(e,t){try{e.container.addComponent(t)}catch(yS){Yd.debug("Component ".concat(t.name," failed to register with FirebaseApp ").concat(e.name),yS)}}function Eu(e){const t=e.name;if(Su.has(t))return Yd.debug("There were multiple attempts to register component ".concat(t,".")),!1;Su.set(t,e);for(const n of _u.values())Tu(n,e);for(const n of Cu.values())Tu(n,e);return!0}function Pu(e,t){const n=e.container.getProvider("heartbeat").getImmediate({optional:!0});return n&&n.triggerHeartbeat(),e.container.getProvider(t)}function Au(e){return null!==e&&void 0!==e&&void 0!==e.settings}const Ou=new dd("app","Firebase",{"no-app":"No Firebase App '{$appName}' has been created - call initializeApp() first","bad-app-name":"Illegal App name: '{$appName}'","duplicate-app":"Firebase App named '{$appName}' already exists with different options or config","app-deleted":"Firebase App named '{$appName}' already deleted","server-app-deleted":"Firebase Server App has been deleted","no-options":"Need to provide options, when not being deployed to hosting via source.","invalid-app-argument":"firebase.{$appName}() takes either no argument or a Firebase App instance.","invalid-log-argument":"First argument to `onLog` must be null or a function.","idb-open":"Error thrown when opening IndexedDB. Original error: {$originalErrorMessage}.","idb-get":"Error thrown when reading from IndexedDB. Original error: {$originalErrorMessage}.","idb-set":"Error thrown when writing to IndexedDB. Original error: {$originalErrorMessage}.","idb-delete":"Error thrown when deleting from IndexedDB. Original error: {$originalErrorMessage}.","finalization-registry-not-supported":"FirebaseServerApp deleteOnDeref field defined but the JS runtime does not support FinalizationRegistry.","invalid-server-app-environment":"FirebaseServerApp is not for use in browser environments."});class Iu{constructor(e,t,n){this._isDeleted=!1,this._options=Object.assign({},e),this._config=Object.assign({},t),this._name=t.name,this._automaticDataCollectionEnabled=t.automaticDataCollectionEnabled,this._container=n,this.container.addComponent(new yd("app",()=>this,"PUBLIC"))}get automaticDataCollectionEnabled(){return this.checkDestroyed(),this._automaticDataCollectionEnabled}set automaticDataCollectionEnabled(e){this.checkDestroyed(),this._automaticDataCollectionEnabled=e}get name(){return this.checkDestroyed(),this._name}get options(){return this.checkDestroyed(),this._options}get config(){return this.checkDestroyed(),this._config}get container(){return this._container}get isDeleted(){return this._isDeleted}set isDeleted(e){this._isDeleted=e}checkDestroyed(){if(this.isDeleted)throw Ou.create("app-deleted",{appName:this._name})}}const Du="11.10.0";function Fu(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=e;if("object"!==typeof t){t={name:t}}const r=Object.assign({name:Nu,automaticDataCollectionEnabled:!0},t),a=r.name;if("string"!==typeof a||!a)throw Ou.create("bad-app-name",{appName:String(a)});if(n||(n=td()),!n)throw Ou.create("no-options");const s=_u.get(a);if(s){if(hd(n,s.options)&&hd(r,s.config))return s;throw Ou.create("duplicate-app",{appName:a})}const i=new Nd(a);for(const l of Su.values())i.addComponent(l);const o=new Iu(n,r,i);return _u.set(a,o),o}function Ru(e,t,n){var r;let a=null!==(r=ku[e])&&void 0!==r?r:e;n&&(a+="-".concat(n));const s=a.match(/\s|\//),i=t.match(/\s|\//);if(s||i){const e=['Unable to register library "'.concat(a,'" with version "').concat(t,'":')];return s&&e.push('library name "'.concat(a,'" contains illegal characters (whitespace or "/")')),s&&i&&e.push("and"),i&&e.push('version name "'.concat(t,'" contains illegal characters (whitespace or "/")')),void Yd.warn(e.join(" "))}Eu(new yd("".concat(a,"-version"),()=>({library:a,version:t}),"VERSION"))}const Mu="firebase-heartbeat-store";let Lu=null;function zu(){return Lu||(Lu=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n.blocked,a=n.upgrade,s=n.blocking,i=n.terminated;const o=indexedDB.open(e,t),l=Ud(o);return a&&o.addEventListener("upgradeneeded",e=>{a(Ud(o.result),e.oldVersion,e.newVersion,Ud(o.transaction),e)}),r&&o.addEventListener("blocked",e=>r(e.oldVersion,e.newVersion,e)),l.then(e=>{i&&e.addEventListener("close",()=>i()),s&&e.addEventListener("versionchange",e=>s(e.oldVersion,e.newVersion,e))}).catch(()=>{}),l}("firebase-heartbeat-database",1,{upgrade:(e,t)=>{if(0===t)try{e.createObjectStore(Mu)}catch(yS){console.warn(yS)}}}).catch(e=>{throw Ou.create("idb-open",{originalErrorMessage:e.message})})),Lu}async function Bu(e,t){try{const n=(await zu()).transaction(Mu,"readwrite"),r=n.objectStore(Mu);await r.put(t,Uu(e)),await n.done}catch(yS){if(yS instanceof cd)Yd.warn(yS.message);else{const t=Ou.create("idb-set",{originalErrorMessage:null===yS||void 0===yS?void 0:yS.message});Yd.warn(t.message)}}}function Uu(e){return"".concat(e.name,"!").concat(e.options.appId)}class Vu{constructor(e){this.container=e,this._heartbeatsCache=null;const t=this.container.getProvider("app").getImmediate();this._storage=new Hu(t),this._heartbeatsCachePromise=this._storage.read().then(e=>(this._heartbeatsCache=e,e))}async triggerHeartbeat(){var e,t;try{const n=this.container.getProvider("platform-logger").getImmediate().getPlatformInfoString(),r=Wu();if(null==(null===(e=this._heartbeatsCache)||void 0===e?void 0:e.heartbeats)&&(this._heartbeatsCache=await this._heartbeatsCachePromise,null==(null===(t=this._heartbeatsCache)||void 0===t?void 0:t.heartbeats)))return;if(this._heartbeatsCache.lastSentHeartbeatDate===r||this._heartbeatsCache.heartbeats.some(e=>e.date===r))return;if(this._heartbeatsCache.heartbeats.push({date:r,agent:n}),this._heartbeatsCache.heartbeats.length>30){const e=function(e){if(0===e.length)return-1;let t=0,n=e[0].date;for(let r=1;r1&&void 0!==arguments[1]?arguments[1]:1024;const n=[];let r=e.slice();for(const a of e){const e=n.find(e=>e.agent===a.agent);if(e){if(e.dates.push(a.date),Gu(n)>t){e.dates.pop();break}}else if(n.push({agent:a.agent,dates:[a.date]}),Gu(n)>t){n.pop();break}r=r.slice(1)}return{heartbeatsToSend:n,unsentEntries:r}}(this._heartbeatsCache.heartbeats),r=n.heartbeatsToSend,a=n.unsentEntries,s=Yc(JSON.stringify({version:2,heartbeats:r}));return this._heartbeatsCache.lastSentHeartbeatDate=t,a.length>0?(this._heartbeatsCache.heartbeats=a,await this._storage.overwrite(this._heartbeatsCache)):(this._heartbeatsCache.heartbeats=[],this._storage.overwrite(this._heartbeatsCache)),s}catch(yS){return Yd.warn(yS),""}}}function Wu(){return(new Date).toISOString().substring(0,10)}class Hu{constructor(e){this.app=e,this._canUseIndexedDBPromise=this.runIndexedDBEnvironmentCheck()}async runIndexedDBEnvironmentCheck(){return!!function(){try{return"object"===typeof indexedDB}catch(yS){return!1}}()&&new Promise((e,t)=>{try{let n=!0;const r="validate-browser-context-for-indexeddb-analytics-module",a=self.indexedDB.open(r);a.onsuccess=()=>{a.result.close(),n||self.indexedDB.deleteDatabase(r),e(!0)},a.onupgradeneeded=()=>{n=!1},a.onerror=()=>{var e;t((null===(e=a.error)||void 0===e?void 0:e.message)||"")}}catch(n){t(n)}}).then(()=>!0).catch(()=>!1)}async read(){if(await this._canUseIndexedDBPromise){const e=await async function(e){try{const t=(await zu()).transaction(Mu),n=await t.objectStore(Mu).get(Uu(e));return await t.done,n}catch(yS){if(yS instanceof cd)Yd.warn(yS.message);else{const t=Ou.create("idb-get",{originalErrorMessage:null===yS||void 0===yS?void 0:yS.message});Yd.warn(t.message)}}}(this.app);return(null===e||void 0===e?void 0:e.heartbeats)?e:{heartbeats:[]}}return{heartbeats:[]}}async overwrite(e){var t;if(await this._canUseIndexedDBPromise){const n=await this.read();return Bu(this.app,{lastSentHeartbeatDate:null!==(t=e.lastSentHeartbeatDate)&&void 0!==t?t:n.lastSentHeartbeatDate,heartbeats:e.heartbeats})}}async add(e){var t;if(await this._canUseIndexedDBPromise){const n=await this.read();return Bu(this.app,{lastSentHeartbeatDate:null!==(t=e.lastSentHeartbeatDate)&&void 0!==t?t:n.lastSentHeartbeatDate,heartbeats:[...n.heartbeats,...e.heartbeats]})}}}function Gu(e){return Yc(JSON.stringify({version:2,heartbeats:e})).length}var Ku;Ku="",Eu(new yd("platform-logger",e=>new qd(e),"PRIVATE")),Eu(new yd("heartbeat",e=>new Vu(e),"PRIVATE")),Ru($d,Zd,Ku),Ru($d,Zd,"esm2017"),Ru("fire-js","");Ru("firebase","11.10.0","app");function qu(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"===typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a1?t-1:0),r=1;r1?t-1:0),r=1;r1?t-1:0),r=1;r1?t-1:0),r=1;r2?n-2:0),a=2;ae,"Short delay should be less than long delay!"),this.isMobile="undefined"!==typeof window&&!!(window.cordova||window.phonegap||window.PhoneGap)&&/ios|iphone|ipod|ipad|android|blackberry|iemobile/i.test(ld())||"object"===typeof navigator&&"ReactNative"===navigator.product}get(){return dh()?this.isMobile?this.longDelay:this.shortDelay:Math.min(5e3,this.shortDelay)}}function hh(e,t){ih(e.emulator,"Emulator should always be set here");const n=e.emulator.url;return t?"".concat(n).concat(t.startsWith("/")?t.slice(1):t):n}class ph{static initialize(e,t,n){this.fetchImpl=e,t&&(this.headersImpl=t),n&&(this.responseImpl=n)}static fetch(){return this.fetchImpl?this.fetchImpl:"undefined"!==typeof self&&"fetch"in self?self.fetch:"undefined"!==typeof globalThis&&globalThis.fetch?globalThis.fetch:"undefined"!==typeof fetch?fetch:void sh("Could not find fetch implementation, make sure you call FetchProvider.initialize() with an appropriate polyfill")}static headers(){return this.headersImpl?this.headersImpl:"undefined"!==typeof self&&"Headers"in self?self.Headers:"undefined"!==typeof globalThis&&globalThis.Headers?globalThis.Headers:"undefined"!==typeof Headers?Headers:void sh("Could not find Headers implementation, make sure you call FetchProvider.initialize() with an appropriate polyfill")}static response(){return this.responseImpl?this.responseImpl:"undefined"!==typeof self&&"Response"in self?self.Response:"undefined"!==typeof globalThis&&globalThis.Response?globalThis.Response:"undefined"!==typeof Response?Response:void sh("Could not find Response implementation, make sure you call FetchProvider.initialize() with an appropriate polyfill")}}const mh={CREDENTIAL_MISMATCH:"custom-token-mismatch",MISSING_CUSTOM_TOKEN:"internal-error",INVALID_IDENTIFIER:"invalid-email",MISSING_CONTINUE_URI:"internal-error",INVALID_PASSWORD:"wrong-password",MISSING_PASSWORD:"missing-password",INVALID_LOGIN_CREDENTIALS:"invalid-credential",EMAIL_EXISTS:"email-already-in-use",PASSWORD_LOGIN_DISABLED:"operation-not-allowed",INVALID_IDP_RESPONSE:"invalid-credential",INVALID_PENDING_TOKEN:"invalid-credential",FEDERATED_USER_ID_ALREADY_LINKED:"credential-already-in-use",MISSING_REQ_TYPE:"internal-error",EMAIL_NOT_FOUND:"user-not-found",RESET_PASSWORD_EXCEED_LIMIT:"too-many-requests",EXPIRED_OOB_CODE:"expired-action-code",INVALID_OOB_CODE:"invalid-action-code",MISSING_OOB_CODE:"internal-error",CREDENTIAL_TOO_OLD_LOGIN_AGAIN:"requires-recent-login",INVALID_ID_TOKEN:"invalid-user-token",TOKEN_EXPIRED:"user-token-expired",USER_NOT_FOUND:"user-token-expired",TOO_MANY_ATTEMPTS_TRY_LATER:"too-many-requests",PASSWORD_DOES_NOT_MEET_REQUIREMENTS:"password-does-not-meet-requirements",INVALID_CODE:"invalid-verification-code",INVALID_SESSION_INFO:"invalid-verification-id",INVALID_TEMPORARY_PROOF:"invalid-credential",MISSING_SESSION_INFO:"missing-verification-id",SESSION_EXPIRED:"code-expired",MISSING_ANDROID_PACKAGE_NAME:"missing-android-pkg-name",UNAUTHORIZED_DOMAIN:"unauthorized-continue-uri",INVALID_OAUTH_CLIENT_ID:"invalid-oauth-client-id",ADMIN_ONLY_OPERATION:"admin-restricted-operation",INVALID_MFA_PENDING_CREDENTIAL:"invalid-multi-factor-session",MFA_ENROLLMENT_NOT_FOUND:"multi-factor-info-not-found",MISSING_MFA_ENROLLMENT_ID:"missing-multi-factor-info",MISSING_MFA_PENDING_CREDENTIAL:"missing-multi-factor-session",SECOND_FACTOR_EXISTS:"second-factor-already-in-use",SECOND_FACTOR_LIMIT_EXCEEDED:"maximum-second-factor-count-exceeded",BLOCKING_FUNCTION_ERROR_RESPONSE:"internal-error",RECAPTCHA_NOT_ENABLED:"recaptcha-not-enabled",MISSING_RECAPTCHA_TOKEN:"missing-recaptcha-token",INVALID_RECAPTCHA_TOKEN:"invalid-recaptcha-token",INVALID_RECAPTCHA_ACTION:"invalid-recaptcha-action",MISSING_CLIENT_TYPE:"missing-client-type",MISSING_RECAPTCHA_VERSION:"missing-recaptcha-version",INVALID_RECAPTCHA_VERSION:"invalid-recaptcha-version",INVALID_REQ_TYPE:"invalid-req-type"},fh=["/v1/accounts:signInWithCustomToken","/v1/accounts:signInWithEmailLink","/v1/accounts:signInWithIdp","/v1/accounts:signInWithPassword","/v1/accounts:signInWithPhoneNumber","/v1/token"],gh=new uh(3e4,6e4);function xh(e,t){return e.tenantId&&!t.tenantId?Object.assign(Object.assign({},t),{tenantId:e.tenantId}):t}async function vh(e,t,n,r){return bh(e,arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},async()=>{let a={},s={};r&&("GET"===t?s=r:a={body:JSON.stringify(r)});const i=md(Object.assign({key:e.config.apiKey},s)).slice(1),o=await e._getAdditionalHeaders();o["Content-Type"]="application/json",e.languageCode&&(o["X-Firebase-Locale"]=e.languageCode);const l=Object.assign({method:t,headers:o},a);return"undefined"!==typeof navigator&&"Cloudflare-Workers"===navigator.userAgent||(l.referrerPolicy="no-referrer"),e.emulatorConfig&&ad(e.emulatorConfig.host)&&(l.credentials="include"),ph.fetch()(await wh(e,e.config.apiHost,n,i),l)})}async function bh(e,t,n){e._canInitEmulator=!1;const r=Object.assign(Object.assign({},mh),t);try{const t=new Nh(e),a=await Promise.race([n(),t.promise]);t.clearNetworkTimeout();const s=await a.json();if("needConfirmation"in s)throw kh(e,"account-exists-with-different-credential",s);if(a.ok&&!("errorMessage"in s))return s;{const t=a.ok?s.errorMessage:s.error.message,n=p(t.split(" : "),2),i=n[0],o=n[1];if("FEDERATED_USER_ID_ALREADY_LINKED"===i)throw kh(e,"credential-already-in-use",s);if("EMAIL_EXISTS"===i)throw kh(e,"email-already-in-use",s);if("USER_DISABLED"===i)throw kh(e,"user-disabled",s);const l=r[i]||i.toLowerCase().replace(/[_\s]+/g,"-");if(o)throw th(e,l,o);Qu(e,l)}}catch(yS){if(yS instanceof cd)throw yS;Qu(e,"network-request-failed",{message:String(yS)})}}async function yh(e,t,n,r){let a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};const s=await vh(e,t,n,r,a);return"mfaPendingCredential"in s&&Qu(e,"multi-factor-auth-required",{_serverResponse:s}),s}async function wh(e,t,n,r){const a="".concat(t).concat(n,"?").concat(r),s=e,i=s.config.emulator?hh(e.config,a):"".concat(e.config.apiScheme,"://").concat(a);if(fh.includes(n)&&(await s._persistenceManagerAvailable,"COOKIE"===s._getPersistenceType())){return s._getPersistence()._getFinalTarget(i).toString()}return i}function jh(e){switch(e){case"ENFORCE":return"ENFORCE";case"AUDIT":return"AUDIT";case"OFF":return"OFF";default:return"ENFORCEMENT_STATE_UNSPECIFIED"}}class Nh{clearNetworkTimeout(){clearTimeout(this.timer)}constructor(e){this.auth=e,this.timer=null,this.promise=new Promise((e,t)=>{this.timer=setTimeout(()=>t(eh(this.auth,"network-request-failed")),gh.get())})}}function kh(e,t,n){const r={appName:e.name};n.email&&(r.email=n.email),n.phoneNumber&&(r.phoneNumber=n.phoneNumber);const a=eh(e,t,r);return a.customData._tokenResponse=n,a}function _h(e){return void 0!==e&&void 0!==e.enterprise}class Ch{constructor(e){if(this.siteKey="",this.recaptchaEnforcementState=[],void 0===e.recaptchaKey)throw new Error("recaptchaKey undefined");this.siteKey=e.recaptchaKey.split("/")[3],this.recaptchaEnforcementState=e.recaptchaEnforcementState}getProviderEnforcementState(e){if(!this.recaptchaEnforcementState||0===this.recaptchaEnforcementState.length)return null;for(const t of this.recaptchaEnforcementState)if(t.provider&&t.provider===e)return jh(t.enforcementState);return null}isProviderEnabled(e){return"ENFORCE"===this.getProviderEnforcementState(e)||"AUDIT"===this.getProviderEnforcementState(e)}isAnyProviderEnabled(){return this.isProviderEnabled("EMAIL_PASSWORD_PROVIDER")||this.isProviderEnabled("PHONE_PROVIDER")}}async function Sh(e,t){return vh(e,"GET","/v2/recaptchaConfig",xh(e,t))}async function Th(e,t){return vh(e,"POST","/v1/accounts:lookup",t)}function Eh(e){if(e)try{const t=new Date(Number(e));if(!isNaN(t.getTime()))return t.toUTCString()}catch(yS){}}function Ph(e){return 1e3*Number(e)}function Ah(e){const t=p(e.split("."),3),n=t[0],r=t[1],a=t[2];if(void 0===n||void 0===r||void 0===a)return Ju("JWT malformed, contained fewer than 3 sections"),null;try{const e=Xc(r);return e?JSON.parse(e):(Ju("Failed to decode base64 JWT payload"),null)}catch(yS){return Ju("Caught error parsing JWT payload as JSON",null===yS||void 0===yS?void 0:yS.toString()),null}}function Oh(e){const t=Ah(e);return ah(t,"internal-error"),ah("undefined"!==typeof t.exp,"internal-error"),ah("undefined"!==typeof t.iat,"internal-error"),Number(t.exp)-Number(t.iat)}async function Ih(e,t){if(arguments.length>2&&void 0!==arguments[2]&&arguments[2])return t;try{return await t}catch(yS){throw yS instanceof cd&&function(e){let t=e.code;return t==="auth/".concat("user-disabled")||t==="auth/".concat("user-token-expired")}(yS)&&e.auth.currentUser===e&&await e.auth.signOut(),yS}}class Dh{constructor(e){this.user=e,this.isRunning=!1,this.timerId=null,this.errorBackoff=3e4}_start(){this.isRunning||(this.isRunning=!0,this.schedule())}_stop(){this.isRunning&&(this.isRunning=!1,null!==this.timerId&&clearTimeout(this.timerId))}getInterval(e){var t;if(e){const e=this.errorBackoff;return this.errorBackoff=Math.min(2*this.errorBackoff,96e4),e}{this.errorBackoff=3e4;const e=(null!==(t=this.user.stsTokenManager.expirationTime)&&void 0!==t?t:0)-Date.now()-3e5;return Math.max(0,e)}}schedule(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(!this.isRunning)return;const t=this.getInterval(e);this.timerId=setTimeout(async()=>{await this.iteration()},t)}async iteration(){try{await this.user.getIdToken(!0)}catch(yS){return void((null===yS||void 0===yS?void 0:yS.code)==="auth/".concat("network-request-failed")&&this.schedule(!0))}this.schedule()}}class Fh{constructor(e,t){this.createdAt=e,this.lastLoginAt=t,this._initializeTime()}_initializeTime(){this.lastSignInTime=Eh(this.lastLoginAt),this.creationTime=Eh(this.createdAt)}_copy(e){this.createdAt=e.createdAt,this.lastLoginAt=e.lastLoginAt,this._initializeTime()}toJSON(){return{createdAt:this.createdAt,lastLoginAt:this.lastLoginAt}}}async function Rh(e){var t;const n=e.auth,r=await e.getIdToken(),a=await Ih(e,Th(n,{idToken:r}));ah(null===a||void 0===a?void 0:a.users.length,n,"internal-error");const s=a.users[0];e._notifyReloadListener(s);const i=(null===(t=s.providerUserInfo)||void 0===t?void 0:t.length)?Mh(s.providerUserInfo):[],o=(l=e.providerData,c=i,[...l.filter(e=>!c.some(t=>t.providerId===e.providerId)),...c]);var l,c;const d=e.isAnonymous,u=!(e.email&&s.passwordHash)&&!(null===o||void 0===o?void 0:o.length),h=!!d&&u,p={uid:s.localId,displayName:s.displayName||null,photoURL:s.photoUrl||null,email:s.email||null,emailVerified:s.emailVerified||!1,phoneNumber:s.phoneNumber||null,tenantId:s.tenantId||null,providerData:o,metadata:new Fh(s.createdAt,s.lastLoginAt),isAnonymous:h};Object.assign(e,p)}function Mh(e){return e.map(e=>{var t=e.providerId,n=qu(e,["providerId"]);return{providerId:t,uid:n.rawId||"",displayName:n.displayName||null,email:n.email||null,phoneNumber:n.phoneNumber||null,photoURL:n.photoUrl||null}})}class Lh{constructor(){this.refreshToken=null,this.accessToken=null,this.expirationTime=null}get isExpired(){return!this.expirationTime||Date.now()>this.expirationTime-3e4}updateFromServerResponse(e){ah(e.idToken,"internal-error"),ah("undefined"!==typeof e.idToken,"internal-error"),ah("undefined"!==typeof e.refreshToken,"internal-error");const t="expiresIn"in e&&"undefined"!==typeof e.expiresIn?Number(e.expiresIn):Oh(e.idToken);this.updateTokensAndExpiration(e.idToken,e.refreshToken,t)}updateFromIdToken(e){ah(0!==e.length,"internal-error");const t=Oh(e);this.updateTokensAndExpiration(e,null,t)}async getToken(e){return arguments.length>1&&void 0!==arguments[1]&&arguments[1]||!this.accessToken||this.isExpired?(ah(this.refreshToken,e,"user-token-expired"),this.refreshToken?(await this.refresh(e,this.refreshToken),this.accessToken):null):this.accessToken}clearRefreshToken(){this.refreshToken=null}async refresh(e,t){const n=await async function(e,t){const n=await bh(e,{},async()=>{const n=md({grant_type:"refresh_token",refresh_token:t}).slice(1),r=e.config,a=r.tokenApiHost,s=r.apiKey,i=await wh(e,a,"/v1/token","key=".concat(s)),o=await e._getAdditionalHeaders();o["Content-Type"]="application/x-www-form-urlencoded";const l={method:"POST",headers:o,body:n};return e.emulatorConfig&&ad(e.emulatorConfig.host)&&(l.credentials="include"),ph.fetch()(i,l)});return{accessToken:n.access_token,expiresIn:n.expires_in,refreshToken:n.refresh_token}}(e,t),r=n.accessToken,a=n.refreshToken,s=n.expiresIn;this.updateTokensAndExpiration(r,a,Number(s))}updateTokensAndExpiration(e,t,n){this.refreshToken=t||null,this.accessToken=e||null,this.expirationTime=Date.now()+1e3*n}static fromJSON(e,t){const n=t.refreshToken,r=t.accessToken,a=t.expirationTime,s=new Lh;return n&&(ah("string"===typeof n,"internal-error",{appName:e}),s.refreshToken=n),r&&(ah("string"===typeof r,"internal-error",{appName:e}),s.accessToken=r),a&&(ah("number"===typeof a,"internal-error",{appName:e}),s.expirationTime=a),s}toJSON(){return{refreshToken:this.refreshToken,accessToken:this.accessToken,expirationTime:this.expirationTime}}_assign(e){this.accessToken=e.accessToken,this.refreshToken=e.refreshToken,this.expirationTime=e.expirationTime}_clone(){return Object.assign(new Lh,this.toJSON())}_performRefresh(){return sh("not implemented")}}function zh(e,t){ah("string"===typeof e||"undefined"===typeof e,"internal-error",{appName:t})}class Bh{constructor(e){var t=e.uid,n=e.auth,r=e.stsTokenManager,a=qu(e,["uid","auth","stsTokenManager"]);this.providerId="firebase",this.proactiveRefresh=new Dh(this),this.reloadUserInfo=null,this.reloadListener=null,this.uid=t,this.auth=n,this.stsTokenManager=r,this.accessToken=r.accessToken,this.displayName=a.displayName||null,this.email=a.email||null,this.emailVerified=a.emailVerified||!1,this.phoneNumber=a.phoneNumber||null,this.photoURL=a.photoURL||null,this.isAnonymous=a.isAnonymous||!1,this.tenantId=a.tenantId||null,this.providerData=a.providerData?[...a.providerData]:[],this.metadata=new Fh(a.createdAt||void 0,a.lastLoginAt||void 0)}async getIdToken(e){const t=await Ih(this,this.stsTokenManager.getToken(this.auth,e));return ah(t,this.auth,"internal-error"),this.accessToken!==t&&(this.accessToken=t,await this.auth._persistUserIfCurrent(this),this.auth._notifyListenersIfCurrent(this)),t}getIdTokenResult(e){return async function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const n=bd(e),r=await n.getIdToken(t),a=Ah(r);ah(a&&a.exp&&a.auth_time&&a.iat,n.auth,"internal-error");const s="object"===typeof a.firebase?a.firebase:void 0,i=null===s||void 0===s?void 0:s.sign_in_provider;return{claims:a,token:r,authTime:Eh(Ph(a.auth_time)),issuedAtTime:Eh(Ph(a.iat)),expirationTime:Eh(Ph(a.exp)),signInProvider:i||null,signInSecondFactor:(null===s||void 0===s?void 0:s.sign_in_second_factor)||null}}(this,e)}reload(){return async function(e){const t=bd(e);await Rh(t),await t.auth._persistUserIfCurrent(t),t.auth._notifyListenersIfCurrent(t)}(this)}_assign(e){this!==e&&(ah(this.uid===e.uid,this.auth,"internal-error"),this.displayName=e.displayName,this.photoURL=e.photoURL,this.email=e.email,this.emailVerified=e.emailVerified,this.phoneNumber=e.phoneNumber,this.isAnonymous=e.isAnonymous,this.tenantId=e.tenantId,this.providerData=e.providerData.map(e=>Object.assign({},e)),this.metadata._copy(e.metadata),this.stsTokenManager._assign(e.stsTokenManager))}_clone(e){const t=new Bh(Object.assign(Object.assign({},this),{auth:e,stsTokenManager:this.stsTokenManager._clone()}));return t.metadata._copy(this.metadata),t}_onReload(e){ah(!this.reloadListener,this.auth,"internal-error"),this.reloadListener=e,this.reloadUserInfo&&(this._notifyReloadListener(this.reloadUserInfo),this.reloadUserInfo=null)}_notifyReloadListener(e){this.reloadListener?this.reloadListener(e):this.reloadUserInfo=e}_startProactiveRefresh(){this.proactiveRefresh._start()}_stopProactiveRefresh(){this.proactiveRefresh._stop()}async _updateTokensIfNecessary(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=!1;e.idToken&&e.idToken!==this.stsTokenManager.accessToken&&(this.stsTokenManager.updateFromServerResponse(e),n=!0),t&&await Rh(this),await this.auth._persistUserIfCurrent(this),n&&this.auth._notifyListenersIfCurrent(this)}async delete(){if(Au(this.auth.app))return Promise.reject(nh(this.auth));const e=await this.getIdToken();return await Ih(this,async function(e,t){return vh(e,"POST","/v1/accounts:delete",t)}(this.auth,{idToken:e})),this.stsTokenManager.clearRefreshToken(),this.auth.signOut()}toJSON(){return Object.assign(Object.assign({uid:this.uid,email:this.email||void 0,emailVerified:this.emailVerified,displayName:this.displayName||void 0,isAnonymous:this.isAnonymous,photoURL:this.photoURL||void 0,phoneNumber:this.phoneNumber||void 0,tenantId:this.tenantId||void 0,providerData:this.providerData.map(e=>Object.assign({},e)),stsTokenManager:this.stsTokenManager.toJSON(),_redirectEventId:this._redirectEventId},this.metadata.toJSON()),{apiKey:this.auth.config.apiKey,appName:this.auth.name})}get refreshToken(){return this.stsTokenManager.refreshToken||""}static _fromJSON(e,t){var n,r,a,s,i,o,l,c;const d=null!==(n=t.displayName)&&void 0!==n?n:void 0,u=null!==(r=t.email)&&void 0!==r?r:void 0,h=null!==(a=t.phoneNumber)&&void 0!==a?a:void 0,p=null!==(s=t.photoURL)&&void 0!==s?s:void 0,m=null!==(i=t.tenantId)&&void 0!==i?i:void 0,f=null!==(o=t._redirectEventId)&&void 0!==o?o:void 0,g=null!==(l=t.createdAt)&&void 0!==l?l:void 0,x=null!==(c=t.lastLoginAt)&&void 0!==c?c:void 0,v=t.uid,b=t.emailVerified,y=t.isAnonymous,w=t.providerData,j=t.stsTokenManager;ah(v&&j,e,"internal-error");const N=Lh.fromJSON(this.name,j);ah("string"===typeof v,e,"internal-error"),zh(d,e.name),zh(u,e.name),ah("boolean"===typeof b,e,"internal-error"),ah("boolean"===typeof y,e,"internal-error"),zh(h,e.name),zh(p,e.name),zh(m,e.name),zh(f,e.name),zh(g,e.name),zh(x,e.name);const k=new Bh({uid:v,auth:e,email:u,emailVerified:b,displayName:d,isAnonymous:y,photoURL:p,phoneNumber:h,tenantId:m,stsTokenManager:N,createdAt:g,lastLoginAt:x});return w&&Array.isArray(w)&&(k.providerData=w.map(e=>Object.assign({},e))),f&&(k._redirectEventId=f),k}static async _fromIdTokenResponse(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const r=new Lh;r.updateFromServerResponse(t);const a=new Bh({uid:t.localId,auth:e,stsTokenManager:r,isAnonymous:n});return await Rh(a),a}static async _fromGetAccountInfoResponse(e,t,n){const r=t.users[0];ah(void 0!==r.localId,"internal-error");const a=void 0!==r.providerUserInfo?Mh(r.providerUserInfo):[],s=!(r.email&&r.passwordHash)&&!(null===a||void 0===a?void 0:a.length),i=new Lh;i.updateFromIdToken(n);const o=new Bh({uid:r.localId,auth:e,stsTokenManager:i,isAnonymous:s}),l={uid:r.localId,displayName:r.displayName||null,photoURL:r.photoUrl||null,email:r.email||null,emailVerified:r.emailVerified||!1,phoneNumber:r.phoneNumber||null,tenantId:r.tenantId||null,providerData:a,metadata:new Fh(r.createdAt,r.lastLoginAt),isAnonymous:!(r.email&&r.passwordHash)&&!(null===a||void 0===a?void 0:a.length)};return Object.assign(o,l),o}}const Uh=new Map;function Vh(e){ih(e instanceof Function,"Expected a class definition");let t=Uh.get(e);return t?(ih(t instanceof e,"Instance stored in cache mismatched with class"),t):(t=new e,Uh.set(e,t),t)}class Wh{constructor(){this.type="NONE",this.storage={}}async _isAvailable(){return!0}async _set(e,t){this.storage[e]=t}async _get(e){const t=this.storage[e];return void 0===t?null:t}async _remove(e){delete this.storage[e]}_addListener(e,t){}_removeListener(e,t){}}Wh.type="NONE";const Hh=Wh;function Gh(e,t,n){return"firebase".concat(":",e,":").concat(t,":").concat(n)}class Kh{constructor(e,t,n){this.persistence=e,this.auth=t,this.userKey=n;const r=this.auth,a=r.config,s=r.name;this.fullUserKey=Gh(this.userKey,a.apiKey,s),this.fullPersistenceKey=Gh("persistence",a.apiKey,s),this.boundEventHandler=t._onStorageEvent.bind(t),this.persistence._addListener(this.fullUserKey,this.boundEventHandler)}setCurrentUser(e){return this.persistence._set(this.fullUserKey,e.toJSON())}async getCurrentUser(){const e=await this.persistence._get(this.fullUserKey);if(!e)return null;if("string"===typeof e){const t=await Th(this.auth,{idToken:e}).catch(()=>{});return t?Bh._fromGetAccountInfoResponse(this.auth,t,e):null}return Bh._fromJSON(this.auth,e)}removeCurrentUser(){return this.persistence._remove(this.fullUserKey)}savePersistenceForRedirect(){return this.persistence._set(this.fullPersistenceKey,this.persistence.type)}async setPersistence(e){if(this.persistence===e)return;const t=await this.getCurrentUser();return await this.removeCurrentUser(),this.persistence=e,t?this.setCurrentUser(t):void 0}delete(){this.persistence._removeListener(this.fullUserKey,this.boundEventHandler)}static async create(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"authUser";if(!t.length)return new Kh(Vh(Hh),e,n);const r=(await Promise.all(t.map(async e=>{if(await e._isAvailable())return e}))).filter(e=>e);let a=r[0]||Vh(Hh);const s=Gh(n,e.config.apiKey,e.name);let i=null;for(const c of t)try{const t=await c._get(s);if(t){let n;if("string"===typeof t){const r=await Th(e,{idToken:t}).catch(()=>{});if(!r)break;n=await Bh._fromGetAccountInfoResponse(e,r,t)}else n=Bh._fromJSON(e,t);c!==a&&(i=n),a=c;break}}catch(l){}const o=r.filter(e=>e._shouldAllowMigration);return a._shouldAllowMigration&&o.length?(a=o[0],i&&await a._set(s,i.toJSON()),await Promise.all(t.map(async e=>{if(e!==a)try{await e._remove(s)}catch(l){}})),new Kh(a,e,n)):new Kh(a,e,n)}}function qh(e){const t=e.toLowerCase();if(t.includes("opera/")||t.includes("opr/")||t.includes("opios/"))return"Opera";if(Xh(t))return"IEMobile";if(t.includes("msie")||t.includes("trident/"))return"IE";if(t.includes("edge/"))return"Edge";if($h(t))return"Firefox";if(t.includes("silk/"))return"Silk";if(Qh(t))return"Blackberry";if(ep(t))return"Webos";if(Zh(t))return"Safari";if((t.includes("chrome/")||Yh(t))&&!t.includes("edge/"))return"Chrome";if(Jh(t))return"Android";{const t=/([a-zA-Z\d\.]+)\/[a-zA-Z\d\.]*$/,n=e.match(t);if(2===(null===n||void 0===n?void 0:n.length))return n[1]}return"Other"}function $h(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:ld();return/firefox\//i.test(e)}function Zh(){const e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:ld()).toLowerCase();return e.includes("safari/")&&!e.includes("chrome/")&&!e.includes("crios/")&&!e.includes("android")}function Yh(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:ld();return/crios\//i.test(e)}function Xh(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:ld();return/iemobile/i.test(e)}function Jh(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:ld();return/android/i.test(e)}function Qh(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:ld();return/blackberry/i.test(e)}function ep(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:ld();return/webos/i.test(e)}function tp(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:ld();return/iphone|ipad|ipod/i.test(e)||/macintosh/i.test(e)&&/mobile/i.test(e)}function np(){return function(){const e=ld();return e.indexOf("MSIE ")>=0||e.indexOf("Trident/")>=0}()&&10===document.documentMode}function rp(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:ld();return tp(e)||Jh(e)||ep(e)||Qh(e)||/windows phone/i.test(e)||Xh(e)}function ap(e){let t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];switch(e){case"Browser":t=qh(ld());break;case"Worker":t="".concat(qh(ld()),"-").concat(e);break;default:t=e}const r=n.length?n.join(","):"FirebaseCore-web";return"".concat(t,"/","JsCore","/").concat(Du,"/").concat(r)}class sp{constructor(e){this.auth=e,this.queue=[]}pushCallback(e,t){const n=t=>new Promise((n,r)=>{try{n(e(t))}catch(yS){r(yS)}});n.onAbort=t,this.queue.push(n);const r=this.queue.length-1;return()=>{this.queue[r]=()=>Promise.resolve()}}async runMiddleware(e){if(this.auth.currentUser===e)return;const t=[];try{for(const n of this.queue)await n(e),n.onAbort&&t.push(n.onAbort)}catch(yS){t.reverse();for(const r of t)try{r()}catch(n){}throw this.auth._errorFactory.create("login-blocked",{originalMessage:null===yS||void 0===yS?void 0:yS.message})}}}class ip{constructor(e){var t,n,r,a;const s=e.customStrengthOptions;this.customStrengthOptions={},this.customStrengthOptions.minPasswordLength=null!==(t=s.minPasswordLength)&&void 0!==t?t:6,s.maxPasswordLength&&(this.customStrengthOptions.maxPasswordLength=s.maxPasswordLength),void 0!==s.containsLowercaseCharacter&&(this.customStrengthOptions.containsLowercaseLetter=s.containsLowercaseCharacter),void 0!==s.containsUppercaseCharacter&&(this.customStrengthOptions.containsUppercaseLetter=s.containsUppercaseCharacter),void 0!==s.containsNumericCharacter&&(this.customStrengthOptions.containsNumericCharacter=s.containsNumericCharacter),void 0!==s.containsNonAlphanumericCharacter&&(this.customStrengthOptions.containsNonAlphanumericCharacter=s.containsNonAlphanumericCharacter),this.enforcementState=e.enforcementState,"ENFORCEMENT_STATE_UNSPECIFIED"===this.enforcementState&&(this.enforcementState="OFF"),this.allowedNonAlphanumericCharacters=null!==(r=null===(n=e.allowedNonAlphanumericCharacters)||void 0===n?void 0:n.join(""))&&void 0!==r?r:"",this.forceUpgradeOnSignin=null!==(a=e.forceUpgradeOnSignin)&&void 0!==a&&a,this.schemaVersion=e.schemaVersion}validatePassword(e){var t,n,r,a,s,i;const o={isValid:!0,passwordPolicy:this};return this.validatePasswordLengthOptions(e,o),this.validatePasswordCharacterOptions(e,o),o.isValid&&(o.isValid=null===(t=o.meetsMinPasswordLength)||void 0===t||t),o.isValid&&(o.isValid=null===(n=o.meetsMaxPasswordLength)||void 0===n||n),o.isValid&&(o.isValid=null===(r=o.containsLowercaseLetter)||void 0===r||r),o.isValid&&(o.isValid=null===(a=o.containsUppercaseLetter)||void 0===a||a),o.isValid&&(o.isValid=null===(s=o.containsNumericCharacter)||void 0===s||s),o.isValid&&(o.isValid=null===(i=o.containsNonAlphanumericCharacter)||void 0===i||i),o}validatePasswordLengthOptions(e,t){const n=this.customStrengthOptions.minPasswordLength,r=this.customStrengthOptions.maxPasswordLength;n&&(t.meetsMinPasswordLength=e.length>=n),r&&(t.meetsMaxPasswordLength=e.length<=r)}validatePasswordCharacterOptions(e,t){let n;this.updatePasswordCharacterOptionsStatuses(t,!1,!1,!1,!1);for(let r=0;r="a"&&n<="z",n>="A"&&n<="Z",n>="0"&&n<="9",this.allowedNonAlphanumericCharacters.includes(n))}updatePasswordCharacterOptionsStatuses(e,t,n,r,a){this.customStrengthOptions.containsLowercaseLetter&&(e.containsLowercaseLetter||(e.containsLowercaseLetter=t)),this.customStrengthOptions.containsUppercaseLetter&&(e.containsUppercaseLetter||(e.containsUppercaseLetter=n)),this.customStrengthOptions.containsNumericCharacter&&(e.containsNumericCharacter||(e.containsNumericCharacter=r)),this.customStrengthOptions.containsNonAlphanumericCharacter&&(e.containsNonAlphanumericCharacter||(e.containsNonAlphanumericCharacter=a))}}class op{constructor(e,t,n,r){this.app=e,this.heartbeatServiceProvider=t,this.appCheckServiceProvider=n,this.config=r,this.currentUser=null,this.emulatorConfig=null,this.operations=Promise.resolve(),this.authStateSubscription=new cp(this),this.idTokenSubscription=new cp(this),this.beforeStateQueue=new sp(this),this.redirectUser=null,this.isProactiveRefreshEnabled=!1,this.EXPECTED_PASSWORD_POLICY_SCHEMA_VERSION=1,this._canInitEmulator=!0,this._isInitialized=!1,this._deleted=!1,this._initializationPromise=null,this._popupRedirectResolver=null,this._errorFactory=Yu,this._agentRecaptchaConfig=null,this._tenantRecaptchaConfigs={},this._projectPasswordPolicy=null,this._tenantPasswordPolicies={},this._resolvePersistenceManagerAvailable=void 0,this.lastNotifiedUid=void 0,this.languageCode=null,this.tenantId=null,this.settings={appVerificationDisabledForTesting:!1},this.frameworks=[],this.name=e.name,this.clientVersion=r.sdkClientVersion,this._persistenceManagerAvailable=new Promise(e=>this._resolvePersistenceManagerAvailable=e)}_initializeWithPersistence(e,t){return t&&(this._popupRedirectResolver=Vh(t)),this._initializationPromise=this.queue(async()=>{var n,r,a;if(!this._deleted&&(this.persistenceManager=await Kh.create(this,e),null===(n=this._resolvePersistenceManagerAvailable)||void 0===n||n.call(this),!this._deleted)){if(null===(r=this._popupRedirectResolver)||void 0===r?void 0:r._shouldInitProactively)try{await this._popupRedirectResolver._initialize(this)}catch(yS){}await this.initializeCurrentUser(t),this.lastNotifiedUid=(null===(a=this.currentUser)||void 0===a?void 0:a.uid)||null,this._deleted||(this._isInitialized=!0)}}),this._initializationPromise}async _onStorageEvent(){if(this._deleted)return;const e=await this.assertedPersistence.getCurrentUser();return this.currentUser||e?this.currentUser&&e&&this.currentUser.uid===e.uid?(this._currentUser._assign(e),void await this.currentUser.getIdToken()):void await this._updateCurrentUser(e,!0):void 0}async initializeCurrentUserFromIdToken(e){try{const t=await Th(this,{idToken:e}),n=await Bh._fromGetAccountInfoResponse(this,t,e);await this.directlySetCurrentUser(n)}catch(t){console.warn("FirebaseServerApp could not login user with provided authIdToken: ",t),await this.directlySetCurrentUser(null)}}async initializeCurrentUser(e){var t;if(Au(this.app)){const e=this.app.settings.authIdToken;return e?new Promise(t=>{setTimeout(()=>this.initializeCurrentUserFromIdToken(e).then(t,t))}):this.directlySetCurrentUser(null)}const n=await this.assertedPersistence.getCurrentUser();let r=n,a=!1;if(e&&this.config.authDomain){await this.getOrInitRedirectPersistenceManager();const n=null===(t=this.redirectUser)||void 0===t?void 0:t._redirectEventId,s=null===r||void 0===r?void 0:r._redirectEventId,i=await this.tryRedirectSignIn(e);n&&n!==s||!(null===i||void 0===i?void 0:i.user)||(r=i.user,a=!0)}if(!r)return this.directlySetCurrentUser(null);if(!r._redirectEventId){if(a)try{await this.beforeStateQueue.runMiddleware(r)}catch(yS){r=n,this._popupRedirectResolver._overrideRedirectResult(this,()=>Promise.reject(yS))}return r?this.reloadAndSetCurrentUserOrClear(r):this.directlySetCurrentUser(null)}return ah(this._popupRedirectResolver,this,"argument-error"),await this.getOrInitRedirectPersistenceManager(),this.redirectUser&&this.redirectUser._redirectEventId===r._redirectEventId?this.directlySetCurrentUser(r):this.reloadAndSetCurrentUserOrClear(r)}async tryRedirectSignIn(e){let t=null;try{t=await this._popupRedirectResolver._completeRedirectFn(this,e,!0)}catch(yS){await this._setRedirectUser(null)}return t}async reloadAndSetCurrentUserOrClear(e){try{await Rh(e)}catch(yS){if((null===yS||void 0===yS?void 0:yS.code)!=="auth/".concat("network-request-failed"))return this.directlySetCurrentUser(null)}return this.directlySetCurrentUser(e)}useDeviceLanguage(){this.languageCode=function(){if("undefined"===typeof navigator)return null;const e=navigator;return e.languages&&e.languages[0]||e.language||null}()}async _delete(){this._deleted=!0}async updateCurrentUser(e){if(Au(this.app))return Promise.reject(nh(this));const t=e?bd(e):null;return t&&ah(t.auth.config.apiKey===this.config.apiKey,this,"invalid-user-token"),this._updateCurrentUser(t&&t._clone(this))}async _updateCurrentUser(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!this._deleted)return e&&ah(this.tenantId===e.tenantId,this,"tenant-id-mismatch"),t||await this.beforeStateQueue.runMiddleware(e),this.queue(async()=>{await this.directlySetCurrentUser(e),this.notifyAuthListeners()})}async signOut(){return Au(this.app)?Promise.reject(nh(this)):(await this.beforeStateQueue.runMiddleware(null),(this.redirectPersistenceManager||this._popupRedirectResolver)&&await this._setRedirectUser(null),this._updateCurrentUser(null,!0))}setPersistence(e){return Au(this.app)?Promise.reject(nh(this)):this.queue(async()=>{await this.assertedPersistence.setPersistence(Vh(e))})}_getRecaptchaConfig(){return null==this.tenantId?this._agentRecaptchaConfig:this._tenantRecaptchaConfigs[this.tenantId]}async validatePassword(e){this._getPasswordPolicyInternal()||await this._updatePasswordPolicy();const t=this._getPasswordPolicyInternal();return t.schemaVersion!==this.EXPECTED_PASSWORD_POLICY_SCHEMA_VERSION?Promise.reject(this._errorFactory.create("unsupported-password-policy-schema-version",{})):t.validatePassword(e)}_getPasswordPolicyInternal(){return null===this.tenantId?this._projectPasswordPolicy:this._tenantPasswordPolicies[this.tenantId]}async _updatePasswordPolicy(){const e=await async function(e){return vh(e,"GET","/v2/passwordPolicy",xh(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}))}(this),t=new ip(e);null===this.tenantId?this._projectPasswordPolicy=t:this._tenantPasswordPolicies[this.tenantId]=t}_getPersistenceType(){return this.assertedPersistence.persistence.type}_getPersistence(){return this.assertedPersistence.persistence}_updateErrorMap(e){this._errorFactory=new dd("auth","Firebase",e())}onAuthStateChanged(e,t,n){return this.registerStateListener(this.authStateSubscription,e,t,n)}beforeAuthStateChanged(e,t){return this.beforeStateQueue.pushCallback(e,t)}onIdTokenChanged(e,t,n){return this.registerStateListener(this.idTokenSubscription,e,t,n)}authStateReady(){return new Promise((e,t)=>{if(this.currentUser)e();else{const n=this.onAuthStateChanged(()=>{n(),e()},t)}})}async revokeAccessToken(e){if(this.currentUser){const t={providerId:"apple.com",tokenType:"ACCESS_TOKEN",token:e,idToken:await this.currentUser.getIdToken()};null!=this.tenantId&&(t.tenantId=this.tenantId),await async function(e,t){return vh(e,"POST","/v2/accounts:revokeToken",xh(e,t))}(this,t)}}toJSON(){var e;return{apiKey:this.config.apiKey,authDomain:this.config.authDomain,appName:this.name,currentUser:null===(e=this._currentUser)||void 0===e?void 0:e.toJSON()}}async _setRedirectUser(e,t){const n=await this.getOrInitRedirectPersistenceManager(t);return null===e?n.removeCurrentUser():n.setCurrentUser(e)}async getOrInitRedirectPersistenceManager(e){if(!this.redirectPersistenceManager){const t=e&&Vh(e)||this._popupRedirectResolver;ah(t,this,"argument-error"),this.redirectPersistenceManager=await Kh.create(this,[Vh(t._redirectPersistence)],"redirectUser"),this.redirectUser=await this.redirectPersistenceManager.getCurrentUser()}return this.redirectPersistenceManager}async _redirectUserForId(e){var t,n;return this._isInitialized&&await this.queue(async()=>{}),(null===(t=this._currentUser)||void 0===t?void 0:t._redirectEventId)===e?this._currentUser:(null===(n=this.redirectUser)||void 0===n?void 0:n._redirectEventId)===e?this.redirectUser:null}async _persistUserIfCurrent(e){if(e===this.currentUser)return this.queue(async()=>this.directlySetCurrentUser(e))}_notifyListenersIfCurrent(e){e===this.currentUser&&this.notifyAuthListeners()}_key(){return"".concat(this.config.authDomain,":").concat(this.config.apiKey,":").concat(this.name)}_startProactiveRefresh(){this.isProactiveRefreshEnabled=!0,this.currentUser&&this._currentUser._startProactiveRefresh()}_stopProactiveRefresh(){this.isProactiveRefreshEnabled=!1,this.currentUser&&this._currentUser._stopProactiveRefresh()}get _currentUser(){return this.currentUser}notifyAuthListeners(){var e,t;if(!this._isInitialized)return;this.idTokenSubscription.next(this.currentUser);const n=null!==(t=null===(e=this.currentUser)||void 0===e?void 0:e.uid)&&void 0!==t?t:null;this.lastNotifiedUid!==n&&(this.lastNotifiedUid=n,this.authStateSubscription.next(this.currentUser))}registerStateListener(e,t,n,r){if(this._deleted)return()=>{};const a="function"===typeof t?t:t.next.bind(t);let s=!1;const i=this._isInitialized?Promise.resolve():this._initializationPromise;if(ah(i,this,"internal-error"),i.then(()=>{s||a(this.currentUser)}),"function"===typeof t){const a=e.addObserver(t,n,r);return()=>{s=!0,a()}}{const n=e.addObserver(t);return()=>{s=!0,n()}}}async directlySetCurrentUser(e){this.currentUser&&this.currentUser!==e&&this._currentUser._stopProactiveRefresh(),e&&this.isProactiveRefreshEnabled&&e._startProactiveRefresh(),this.currentUser=e,e?await this.assertedPersistence.setCurrentUser(e):await this.assertedPersistence.removeCurrentUser()}queue(e){return this.operations=this.operations.then(e,e),this.operations}get assertedPersistence(){return ah(this.persistenceManager,this,"internal-error"),this.persistenceManager}_logFramework(e){e&&!this.frameworks.includes(e)&&(this.frameworks.push(e),this.frameworks.sort(),this.clientVersion=ap(this.config.clientPlatform,this._getFrameworks()))}_getFrameworks(){return this.frameworks}async _getAdditionalHeaders(){var e;const t={"X-Client-Version":this.clientVersion};this.app.options.appId&&(t["X-Firebase-gmpid"]=this.app.options.appId);const n=await(null===(e=this.heartbeatServiceProvider.getImmediate({optional:!0}))||void 0===e?void 0:e.getHeartbeatsHeader());n&&(t["X-Firebase-Client"]=n);const r=await this._getAppCheckToken();return r&&(t["X-Firebase-AppCheck"]=r),t}async _getAppCheckToken(){var e;if(Au(this.app)&&this.app.settings.appCheckToken)return this.app.settings.appCheckToken;const t=await(null===(e=this.appCheckServiceProvider.getImmediate({optional:!0}))||void 0===e?void 0:e.getToken());return(null===t||void 0===t?void 0:t.error)&&function(e){if(Xu.logLevel<=_d.WARN){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;rthis.observer=e)}get next(){return ah(this.observer,this.auth,"internal-error"),this.observer.next.bind(this.observer)}}let dp={async loadJS(){throw new Error("Unable to load external scripts")},recaptchaV2Script:"",recaptchaEnterpriseScript:"",gapiScript:""};function up(e){return dp.loadJS(e)}function hp(e){return"__".concat(e).concat(Math.floor(1e6*Math.random()))}class pp{constructor(){this.enterprise=new mp}ready(e){e()}execute(e,t){return Promise.resolve("token")}render(e,t){return""}}class mp{ready(e){e()}execute(e,t){return Promise.resolve("token")}render(e,t){return""}}const fp="NO_RECAPTCHA";class gp{constructor(e){this.type="recaptcha-enterprise",this.auth=lp(e)}async verify(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"verify",t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];function n(t,n,r){const a=window.grecaptcha;_h(a)?a.enterprise.ready(()=>{a.enterprise.execute(t,{action:e}).then(e=>{n(e)}).catch(()=>{n(fp)})}):r(Error("No reCAPTCHA enterprise script loaded."))}if(this.auth.settings.appVerificationDisabledForTesting){return(new pp).execute("siteKey",{action:"verify"})}return new Promise((e,r)=>{(async function(e){if(!t){if(null==e.tenantId&&null!=e._agentRecaptchaConfig)return e._agentRecaptchaConfig.siteKey;if(null!=e.tenantId&&void 0!==e._tenantRecaptchaConfigs[e.tenantId])return e._tenantRecaptchaConfigs[e.tenantId].siteKey}return new Promise(async(t,n)=>{Sh(e,{clientType:"CLIENT_TYPE_WEB",version:"RECAPTCHA_ENTERPRISE"}).then(r=>{if(void 0!==r.recaptchaKey){const n=new Ch(r);return null==e.tenantId?e._agentRecaptchaConfig=n:e._tenantRecaptchaConfigs[e.tenantId]=n,t(n.siteKey)}n(new Error("recaptcha Enterprise site key undefined"))}).catch(e=>{n(e)})})})(this.auth).then(a=>{if(!t&&_h(window.grecaptcha))n(a,e,r);else{if("undefined"===typeof window)return void r(new Error("RecaptchaVerifier is only supported in browser"));let t=dp.recaptchaEnterpriseScript;0!==t.length&&(t+=a),up(t).then(()=>{n(a,e,r)}).catch(e=>{r(e)})}}).catch(e=>{r(e)})})}}async function xp(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],a=arguments.length>4&&void 0!==arguments[4]&&arguments[4];const s=new gp(e);let i;if(a)i=fp;else try{i=await s.verify(n)}catch(l){i=await s.verify(n,!0)}const o=Object.assign({},t);if("mfaSmsEnrollment"===n||"mfaSmsSignIn"===n){if("phoneEnrollmentInfo"in o){const e=o.phoneEnrollmentInfo.phoneNumber,t=o.phoneEnrollmentInfo.recaptchaToken;Object.assign(o,{phoneEnrollmentInfo:{phoneNumber:e,recaptchaToken:t,captchaResponse:i,clientType:"CLIENT_TYPE_WEB",recaptchaVersion:"RECAPTCHA_ENTERPRISE"}})}else if("phoneSignInInfo"in o){const e=o.phoneSignInInfo.recaptchaToken;Object.assign(o,{phoneSignInInfo:{recaptchaToken:e,captchaResponse:i,clientType:"CLIENT_TYPE_WEB",recaptchaVersion:"RECAPTCHA_ENTERPRISE"}})}return o}return r?Object.assign(o,{captchaResp:i}):Object.assign(o,{captchaResponse:i}),Object.assign(o,{clientType:"CLIENT_TYPE_WEB"}),Object.assign(o,{recaptchaVersion:"RECAPTCHA_ENTERPRISE"}),o}async function vp(e,t,n,r,a){var s,i;if("EMAIL_PASSWORD_PROVIDER"===a){if(null===(s=e._getRecaptchaConfig())||void 0===s?void 0:s.isProviderEnabled("EMAIL_PASSWORD_PROVIDER")){const a=await xp(e,t,n,"getOobCode"===n);return r(e,a)}return r(e,t).catch(async a=>{if(a.code==="auth/".concat("missing-recaptcha-token")){console.log("".concat(n," is protected by reCAPTCHA Enterprise for this project. Automatically triggering the reCAPTCHA flow and restarting the flow."));const a=await xp(e,t,n,"getOobCode"===n);return r(e,a)}return Promise.reject(a)})}if("PHONE_PROVIDER"===a){if(null===(i=e._getRecaptchaConfig())||void 0===i?void 0:i.isProviderEnabled("PHONE_PROVIDER")){const a=await xp(e,t,n);return r(e,a).catch(async a=>{var s;if("AUDIT"===(null===(s=e._getRecaptchaConfig())||void 0===s?void 0:s.getProviderEnforcementState("PHONE_PROVIDER"))&&(a.code==="auth/".concat("missing-recaptcha-token")||a.code==="auth/".concat("invalid-app-credential"))){console.log("Failed to verify with reCAPTCHA Enterprise. Automatically triggering the reCAPTCHA v2 flow to complete the ".concat(n," flow."));const a=await xp(e,t,n,!1,!0);return r(e,a)}return Promise.reject(a)})}{const a=await xp(e,t,n,!1,!0);return r(e,a)}}return Promise.reject(a+" provider is not supported.")}async function bp(e){const t=lp(e),n=await Sh(t,{clientType:"CLIENT_TYPE_WEB",version:"RECAPTCHA_ENTERPRISE"}),r=new Ch(n);if(null==t.tenantId?t._agentRecaptchaConfig=r:t._tenantRecaptchaConfigs[t.tenantId]=r,r.isAnyProviderEnabled()){new gp(t).verify()}}function yp(e,t,n){const r=lp(e);ah(/^https?:\/\//.test(t),r,"invalid-emulator-scheme");const a=!!(null===n||void 0===n?void 0:n.disableWarnings),s=wp(t),i=function(e){const t=wp(e),n=/(\/\/)?([^?#/]+)/.exec(e.substr(t.length));if(!n)return{host:"",port:null};const r=n[2].split("@").pop()||"",a=/^(\[[^\]]+\])(:|$)/.exec(r);if(a){const e=a[1];return{host:e,port:jp(r.substr(e.length+1))}}{const e=p(r.split(":"),2);return{host:e[0],port:jp(e[1])}}}(t),o=i.host,l=i.port,c=null===l?"":":".concat(l),d={url:"".concat(s,"//").concat(o).concat(c,"/")},u=Object.freeze({host:o,port:l,protocol:s.replace(":",""),options:Object.freeze({disableWarnings:a})});if(!r._canInitEmulator)return ah(r.config.emulator&&r.emulatorConfig,r,"emulator-config-failed"),void ah(hd(d,r.config.emulator)&&hd(u,r.emulatorConfig),r,"emulator-config-failed");r.config.emulator=d,r.emulatorConfig=u,r.settings.appVerificationDisabledForTesting=!0,ad(o)?(!async function(e){(await fetch(e,{credentials:"include"})).ok}("".concat(s,"//").concat(o).concat(c)),od("Auth",!0)):a||function(){function e(){const e=document.createElement("p"),t=e.style;e.innerText="Running in emulator mode. Do not use with production credentials.",t.position="fixed",t.width="100%",t.backgroundColor="#ffffff",t.border=".1em solid #000000",t.color="#b50000",t.bottom="0px",t.left="0px",t.margin="0px",t.zIndex="10000",t.textAlign="center",e.classList.add("firebase-emulator-warning"),document.body.appendChild(e)}"undefined"!==typeof console&&"function"===typeof console.info&&console.info("WARNING: You are using the Auth Emulator, which is intended for local testing only. Do not use with production credentials.");"undefined"!==typeof window&&"undefined"!==typeof document&&("loading"===document.readyState?window.addEventListener("DOMContentLoaded",e):e())}()}function wp(e){const t=e.indexOf(":");return t<0?"":e.substr(0,t+1)}function jp(e){if(!e)return null;const t=Number(e);return isNaN(t)?null:t}class Np{constructor(e,t){this.providerId=e,this.signInMethod=t}toJSON(){return sh("not implemented")}_getIdTokenResponse(e){return sh("not implemented")}_linkToIdToken(e,t){return sh("not implemented")}_getReauthenticationResolver(e){return sh("not implemented")}}async function kp(e,t){return vh(e,"POST","/v1/accounts:signUp",t)}async function _p(e,t){return yh(e,"POST","/v1/accounts:signInWithPassword",xh(e,t))}class Cp extends Np{constructor(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;super("password",n),this._email=e,this._password=t,this._tenantId=r}static _fromEmailAndPassword(e,t){return new Cp(e,t,"password")}static _fromEmailAndCode(e,t){return new Cp(e,t,"emailLink",arguments.length>2&&void 0!==arguments[2]?arguments[2]:null)}toJSON(){return{email:this._email,password:this._password,signInMethod:this.signInMethod,tenantId:this._tenantId}}static fromJSON(e){const t="string"===typeof e?JSON.parse(e):e;if((null===t||void 0===t?void 0:t.email)&&(null===t||void 0===t?void 0:t.password)){if("password"===t.signInMethod)return this._fromEmailAndPassword(t.email,t.password);if("emailLink"===t.signInMethod)return this._fromEmailAndCode(t.email,t.password,t.tenantId)}return null}async _getIdTokenResponse(e){switch(this.signInMethod){case"password":return vp(e,{returnSecureToken:!0,email:this._email,password:this._password,clientType:"CLIENT_TYPE_WEB"},"signInWithPassword",_p,"EMAIL_PASSWORD_PROVIDER");case"emailLink":return async function(e,t){return yh(e,"POST","/v1/accounts:signInWithEmailLink",xh(e,t))}(e,{email:this._email,oobCode:this._password});default:Qu(e,"internal-error")}}async _linkToIdToken(e,t){switch(this.signInMethod){case"password":return vp(e,{idToken:t,returnSecureToken:!0,email:this._email,password:this._password,clientType:"CLIENT_TYPE_WEB"},"signUpPassword",kp,"EMAIL_PASSWORD_PROVIDER");case"emailLink":return async function(e,t){return yh(e,"POST","/v1/accounts:signInWithEmailLink",xh(e,t))}(e,{idToken:t,email:this._email,oobCode:this._password});default:Qu(e,"internal-error")}}_getReauthenticationResolver(e){return this._getIdTokenResponse(e)}}async function Sp(e,t){return yh(e,"POST","/v1/accounts:signInWithIdp",xh(e,t))}class Tp extends Np{constructor(){super(...arguments),this.pendingToken=null}static _fromParams(e){const t=new Tp(e.providerId,e.signInMethod);return e.idToken||e.accessToken?(e.idToken&&(t.idToken=e.idToken),e.accessToken&&(t.accessToken=e.accessToken),e.nonce&&!e.pendingToken&&(t.nonce=e.nonce),e.pendingToken&&(t.pendingToken=e.pendingToken)):e.oauthToken&&e.oauthTokenSecret?(t.accessToken=e.oauthToken,t.secret=e.oauthTokenSecret):Qu("argument-error"),t}toJSON(){return{idToken:this.idToken,accessToken:this.accessToken,secret:this.secret,nonce:this.nonce,pendingToken:this.pendingToken,providerId:this.providerId,signInMethod:this.signInMethod}}static fromJSON(e){const t="string"===typeof e?JSON.parse(e):e,n=t.providerId,r=t.signInMethod,a=qu(t,["providerId","signInMethod"]);if(!n||!r)return null;const s=new Tp(n,r);return s.idToken=a.idToken||void 0,s.accessToken=a.accessToken||void 0,s.secret=a.secret,s.nonce=a.nonce,s.pendingToken=a.pendingToken||null,s}_getIdTokenResponse(e){return Sp(e,this.buildRequest())}_linkToIdToken(e,t){const n=this.buildRequest();return n.idToken=t,Sp(e,n)}_getReauthenticationResolver(e){const t=this.buildRequest();return t.autoCreate=!1,Sp(e,t)}buildRequest(){const e={requestUri:"http://localhost",returnSecureToken:!0};if(this.pendingToken)e.pendingToken=this.pendingToken;else{const t={};this.idToken&&(t.id_token=this.idToken),this.accessToken&&(t.access_token=this.accessToken),this.secret&&(t.oauth_token_secret=this.secret),t.providerId=this.providerId,this.nonce&&!this.pendingToken&&(t.nonce=this.nonce),e.postBody=md(t)}return e}}async function Ep(e,t){return vh(e,"POST","/v1/accounts:sendVerificationCode",xh(e,t))}const Pp={USER_NOT_FOUND:"user-not-found"};class Ap extends Np{constructor(e){super("phone","phone"),this.params=e}static _fromVerification(e,t){return new Ap({verificationId:e,verificationCode:t})}static _fromTokenResponse(e,t){return new Ap({phoneNumber:e,temporaryProof:t})}_getIdTokenResponse(e){return async function(e,t){return yh(e,"POST","/v1/accounts:signInWithPhoneNumber",xh(e,t))}(e,this._makeVerificationRequest())}_linkToIdToken(e,t){return async function(e,t){const n=await yh(e,"POST","/v1/accounts:signInWithPhoneNumber",xh(e,t));if(n.temporaryProof)throw kh(e,"account-exists-with-different-credential",n);return n}(e,Object.assign({idToken:t},this._makeVerificationRequest()))}_getReauthenticationResolver(e){return async function(e,t){return yh(e,"POST","/v1/accounts:signInWithPhoneNumber",xh(e,Object.assign(Object.assign({},t),{operation:"REAUTH"})),Pp)}(e,this._makeVerificationRequest())}_makeVerificationRequest(){const e=this.params,t=e.temporaryProof,n=e.phoneNumber,r=e.verificationId,a=e.verificationCode;return t&&n?{temporaryProof:t,phoneNumber:n}:{sessionInfo:r,code:a}}toJSON(){const e={providerId:this.providerId};return this.params.phoneNumber&&(e.phoneNumber=this.params.phoneNumber),this.params.temporaryProof&&(e.temporaryProof=this.params.temporaryProof),this.params.verificationCode&&(e.verificationCode=this.params.verificationCode),this.params.verificationId&&(e.verificationId=this.params.verificationId),e}static fromJSON(e){"string"===typeof e&&(e=JSON.parse(e));const t=e,n=t.verificationId,r=t.verificationCode,a=t.phoneNumber,s=t.temporaryProof;return r||n||a||s?new Ap({verificationId:n,verificationCode:r,phoneNumber:a,temporaryProof:s}):null}}class Op{constructor(e){var t,n,r,a,s,i;const o=fd(gd(e)),l=null!==(t=o.apiKey)&&void 0!==t?t:null,c=null!==(n=o.oobCode)&&void 0!==n?n:null,d=function(e){switch(e){case"recoverEmail":return"RECOVER_EMAIL";case"resetPassword":return"PASSWORD_RESET";case"signIn":return"EMAIL_SIGNIN";case"verifyEmail":return"VERIFY_EMAIL";case"verifyAndChangeEmail":return"VERIFY_AND_CHANGE_EMAIL";case"revertSecondFactorAddition":return"REVERT_SECOND_FACTOR_ADDITION";default:return null}}(null!==(r=o.mode)&&void 0!==r?r:null);ah(l&&c&&d,"argument-error"),this.apiKey=l,this.operation=d,this.code=c,this.continueUrl=null!==(a=o.continueUrl)&&void 0!==a?a:null,this.languageCode=null!==(s=o.lang)&&void 0!==s?s:null,this.tenantId=null!==(i=o.tenantId)&&void 0!==i?i:null}static parseLink(e){const t=function(e){const t=fd(gd(e)).link,n=t?fd(gd(t)).deep_link_id:null,r=fd(gd(e)).deep_link_id;return(r?fd(gd(r)).link:null)||r||n||t||e}(e);try{return new Op(t)}catch(n){return null}}}class Ip{constructor(){this.providerId=Ip.PROVIDER_ID}static credential(e,t){return Cp._fromEmailAndPassword(e,t)}static credentialWithLink(e,t){const n=Op.parseLink(t);return ah(n,"argument-error"),Cp._fromEmailAndCode(e,n.code,n.tenantId)}}Ip.PROVIDER_ID="password",Ip.EMAIL_PASSWORD_SIGN_IN_METHOD="password",Ip.EMAIL_LINK_SIGN_IN_METHOD="emailLink";class Dp{constructor(e){this.providerId=e,this.defaultLanguageCode=null,this.customParameters={}}setDefaultLanguage(e){this.defaultLanguageCode=e}setCustomParameters(e){return this.customParameters=e,this}getCustomParameters(){return this.customParameters}}class Fp extends Dp{constructor(){super(...arguments),this.scopes=[]}addScope(e){return this.scopes.includes(e)||this.scopes.push(e),this}getScopes(){return[...this.scopes]}}class Rp extends Fp{constructor(){super("facebook.com")}static credential(e){return Tp._fromParams({providerId:Rp.PROVIDER_ID,signInMethod:Rp.FACEBOOK_SIGN_IN_METHOD,accessToken:e})}static credentialFromResult(e){return Rp.credentialFromTaggedObject(e)}static credentialFromError(e){return Rp.credentialFromTaggedObject(e.customData||{})}static credentialFromTaggedObject(e){let t=e._tokenResponse;if(!t||!("oauthAccessToken"in t))return null;if(!t.oauthAccessToken)return null;try{return Rp.credential(t.oauthAccessToken)}catch(n){return null}}}Rp.FACEBOOK_SIGN_IN_METHOD="facebook.com",Rp.PROVIDER_ID="facebook.com";class Mp extends Fp{constructor(){super("google.com"),this.addScope("profile")}static credential(e,t){return Tp._fromParams({providerId:Mp.PROVIDER_ID,signInMethod:Mp.GOOGLE_SIGN_IN_METHOD,idToken:e,accessToken:t})}static credentialFromResult(e){return Mp.credentialFromTaggedObject(e)}static credentialFromError(e){return Mp.credentialFromTaggedObject(e.customData||{})}static credentialFromTaggedObject(e){let t=e._tokenResponse;if(!t)return null;const n=t.oauthIdToken,r=t.oauthAccessToken;if(!n&&!r)return null;try{return Mp.credential(n,r)}catch(a){return null}}}Mp.GOOGLE_SIGN_IN_METHOD="google.com",Mp.PROVIDER_ID="google.com";class Lp extends Fp{constructor(){super("github.com")}static credential(e){return Tp._fromParams({providerId:Lp.PROVIDER_ID,signInMethod:Lp.GITHUB_SIGN_IN_METHOD,accessToken:e})}static credentialFromResult(e){return Lp.credentialFromTaggedObject(e)}static credentialFromError(e){return Lp.credentialFromTaggedObject(e.customData||{})}static credentialFromTaggedObject(e){let t=e._tokenResponse;if(!t||!("oauthAccessToken"in t))return null;if(!t.oauthAccessToken)return null;try{return Lp.credential(t.oauthAccessToken)}catch(n){return null}}}Lp.GITHUB_SIGN_IN_METHOD="github.com",Lp.PROVIDER_ID="github.com";class zp extends Fp{constructor(){super("twitter.com")}static credential(e,t){return Tp._fromParams({providerId:zp.PROVIDER_ID,signInMethod:zp.TWITTER_SIGN_IN_METHOD,oauthToken:e,oauthTokenSecret:t})}static credentialFromResult(e){return zp.credentialFromTaggedObject(e)}static credentialFromError(e){return zp.credentialFromTaggedObject(e.customData||{})}static credentialFromTaggedObject(e){let t=e._tokenResponse;if(!t)return null;const n=t.oauthAccessToken,r=t.oauthTokenSecret;if(!n||!r)return null;try{return zp.credential(n,r)}catch(a){return null}}}zp.TWITTER_SIGN_IN_METHOD="twitter.com",zp.PROVIDER_ID="twitter.com";class Bp{constructor(e){this.user=e.user,this.providerId=e.providerId,this._tokenResponse=e._tokenResponse,this.operationType=e.operationType}static async _fromIdTokenResponse(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];const a=await Bh._fromIdTokenResponse(e,n,r),s=Up(n);return new Bp({user:a,providerId:s,_tokenResponse:n,operationType:t})}static async _forOperation(e,t,n){await e._updateTokensIfNecessary(n,!0);const r=Up(n);return new Bp({user:e,providerId:r,_tokenResponse:n,operationType:t})}}function Up(e){return e.providerId?e.providerId:"phoneNumber"in e?"phone":null}class Vp extends cd{constructor(e,t,n,r){var a;super(t.code,t.message),this.operationType=n,this.user=r,Object.setPrototypeOf(this,Vp.prototype),this.customData={appName:e.name,tenantId:null!==(a=e.tenantId)&&void 0!==a?a:void 0,_serverResponse:t.customData._serverResponse,operationType:n}}static _fromErrorAndOperation(e,t,n,r){return new Vp(e,t,n,r)}}function Wp(e,t,n,r){return("reauthenticate"===t?n._getReauthenticationResolver(e):n._getIdTokenResponse(e)).catch(n=>{if(n.code==="auth/".concat("multi-factor-auth-required"))throw Vp._fromErrorAndOperation(e,n,t,r);throw n})}async function Hp(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const r=await Ih(e,t._linkToIdToken(e.auth,await e.getIdToken()),n);return Bp._forOperation(e,"link",r)}async function Gp(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const r=e.auth;if(Au(r.app))return Promise.reject(nh(r));const a="reauthenticate";try{const s=await Ih(e,Wp(r,a,t,e),n);ah(s.idToken,r,"internal-error");const i=Ah(s.idToken);ah(i,r,"internal-error");const o=i.sub;return ah(e.uid===o,r,"user-mismatch"),Bp._forOperation(e,a,s)}catch(yS){throw(null===yS||void 0===yS?void 0:yS.code)==="auth/".concat("user-not-found")&&Qu(r,"user-mismatch"),yS}}async function Kp(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(Au(e.app))return Promise.reject(nh(e));const r="signIn",a=await Wp(e,r,t),s=await Bp._fromIdTokenResponse(e,r,a);return n||await e._updateCurrentUser(s.user),s}function qp(e,t){return vh(e,"POST","/v2/accounts/mfaEnrollment:start",xh(e,t))}new WeakMap;const $p="__sak";class Zp{constructor(e,t){this.storageRetriever=e,this.type=t}_isAvailable(){try{return this.storage?(this.storage.setItem($p,"1"),this.storage.removeItem($p),Promise.resolve(!0)):Promise.resolve(!1)}catch(e){return Promise.resolve(!1)}}_set(e,t){return this.storage.setItem(e,JSON.stringify(t)),Promise.resolve()}_get(e){const t=this.storage.getItem(e);return Promise.resolve(t?JSON.parse(t):null)}_remove(e){return this.storage.removeItem(e),Promise.resolve()}get storage(){return this.storageRetriever()}}class Yp extends Zp{constructor(){super(()=>window.localStorage,"LOCAL"),this.boundEventHandler=(e,t)=>this.onStorageEvent(e,t),this.listeners={},this.localCache={},this.pollTimer=null,this.fallbackToPolling=rp(),this._shouldAllowMigration=!0}forAllChangedKeys(e){for(const t of Object.keys(this.listeners)){const n=this.storage.getItem(t),r=this.localCache[t];n!==r&&e(t,r,n)}}onStorageEvent(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!e.key)return void this.forAllChangedKeys((e,t,n)=>{this.notifyListeners(e,n)});const n=e.key;t?this.detachListener():this.stopPolling();const r=()=>{const e=this.storage.getItem(n);(t||this.localCache[n]!==e)&&this.notifyListeners(n,e)},a=this.storage.getItem(n);np()&&a!==e.newValue&&e.newValue!==e.oldValue?setTimeout(r,10):r()}notifyListeners(e,t){this.localCache[e]=t;const n=this.listeners[e];if(n)for(const r of Array.from(n))r(t?JSON.parse(t):t)}startPolling(){this.stopPolling(),this.pollTimer=setInterval(()=>{this.forAllChangedKeys((e,t,n)=>{this.onStorageEvent(new StorageEvent("storage",{key:e,oldValue:t,newValue:n}),!0)})},1e3)}stopPolling(){this.pollTimer&&(clearInterval(this.pollTimer),this.pollTimer=null)}attachListener(){window.addEventListener("storage",this.boundEventHandler)}detachListener(){window.removeEventListener("storage",this.boundEventHandler)}_addListener(e,t){0===Object.keys(this.listeners).length&&(this.fallbackToPolling?this.startPolling():this.attachListener()),this.listeners[e]||(this.listeners[e]=new Set,this.localCache[e]=this.storage.getItem(e)),this.listeners[e].add(t)}_removeListener(e,t){this.listeners[e]&&(this.listeners[e].delete(t),0===this.listeners[e].size&&delete this.listeners[e]),0===Object.keys(this.listeners).length&&(this.detachListener(),this.stopPolling())}async _set(e,t){await super._set(e,t),this.localCache[e]=JSON.stringify(t)}async _get(e){const t=await super._get(e);return this.localCache[e]=JSON.stringify(t),t}async _remove(e){await super._remove(e),delete this.localCache[e]}}Yp.type="LOCAL";const Xp=Yp;function Jp(e){var t,n;const r=e.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),a=RegExp("".concat(r,"=([^;]+)"));return null!==(n=null===(t=document.cookie.match(a))||void 0===t?void 0:t[1])&&void 0!==n?n:null}function Qp(e){const t="http:"===window.location.protocol;return"".concat(t?"__dev_":"__HOST-","FIREBASE_").concat(e.split(":")[3])}class em{constructor(){this.type="COOKIE",this.listenerUnsubscribes=new Map}_getFinalTarget(e){if(void 0===typeof window)return e;const t=new URL("".concat(window.location.origin,"/__cookies__"));return t.searchParams.set("finalTarget",e),t}async _isAvailable(){var e;return!("boolean"===typeof isSecureContext&&!isSecureContext)&&("undefined"!==typeof navigator&&"undefined"!==typeof document&&(null===(e=navigator.cookieEnabled)||void 0===e||e))}async _set(e,t){}async _get(e){if(!this._isAvailable())return null;const t=Qp(e);if(window.cookieStore){const e=await window.cookieStore.get(t);return null===e||void 0===e?void 0:e.value}return Jp(t)}async _remove(e){if(!this._isAvailable())return;if(!await this._get(e))return;const t=Qp(e);document.cookie="".concat(t,"=;Max-Age=34560000;Partitioned;Secure;SameSite=Strict;Path=/;Priority=High"),await fetch("/__cookies__",{method:"DELETE"}).catch(()=>{})}_addListener(e,t){if(!this._isAvailable())return;const n=Qp(e);if(window.cookieStore){const e=e=>{const r=e.changed.find(e=>e.name===n);r&&t(r.value);e.deleted.find(e=>e.name===n)&&t(null)},r=()=>window.cookieStore.removeEventListener("change",e);return this.listenerUnsubscribes.set(t,r),window.cookieStore.addEventListener("change",e)}let r=Jp(n);const a=setInterval(()=>{const e=Jp(n);e!==r&&(t(e),r=e)},1e3);this.listenerUnsubscribes.set(t,()=>clearInterval(a))}_removeListener(e,t){const n=this.listenerUnsubscribes.get(t);n&&(n(),this.listenerUnsubscribes.delete(t))}}em.type="COOKIE";class tm extends Zp{constructor(){super(()=>window.sessionStorage,"SESSION")}_addListener(e,t){}_removeListener(e,t){}}tm.type="SESSION";const nm=tm;class rm{constructor(e){this.eventTarget=e,this.handlersMap={},this.boundEventHandler=this.handleEvent.bind(this)}static _getInstance(e){const t=this.receivers.find(t=>t.isListeningto(e));if(t)return t;const n=new rm(e);return this.receivers.push(n),n}isListeningto(e){return this.eventTarget===e}async handleEvent(e){const t=e,n=t.data,r=n.eventId,a=n.eventType,s=n.data,i=this.handlersMap[a];if(!(null===i||void 0===i?void 0:i.size))return;t.ports[0].postMessage({status:"ack",eventId:r,eventType:a});const o=Array.from(i).map(async e=>e(t.origin,s)),l=await function(e){return Promise.all(e.map(async e=>{try{return{fulfilled:!0,value:await e}}catch(t){return{fulfilled:!1,reason:t}}}))}(o);t.ports[0].postMessage({status:"done",eventId:r,eventType:a,response:l})}_subscribe(e,t){0===Object.keys(this.handlersMap).length&&this.eventTarget.addEventListener("message",this.boundEventHandler),this.handlersMap[e]||(this.handlersMap[e]=new Set),this.handlersMap[e].add(t)}_unsubscribe(e,t){this.handlersMap[e]&&t&&this.handlersMap[e].delete(t),t&&0!==this.handlersMap[e].size||delete this.handlersMap[e],0===Object.keys(this.handlersMap).length&&this.eventTarget.removeEventListener("message",this.boundEventHandler)}}function am(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:10,n="";for(let r=0;r2&&void 0!==arguments[2]?arguments[2]:50;const r="undefined"!==typeof MessageChannel?new MessageChannel:null;if(!r)throw new Error("connection_unavailable");let a,s;return new Promise((i,o)=>{const l=am("",20);r.port1.start();const c=setTimeout(()=>{o(new Error("unsupported_event"))},n);s={messageChannel:r,onMessage(e){const t=e;if(t.data.eventId===l)switch(t.data.status){case"ack":clearTimeout(c),a=setTimeout(()=>{o(new Error("timeout"))},3e3);break;case"done":clearTimeout(a),i(t.data.response);break;default:clearTimeout(c),clearTimeout(a),o(new Error("invalid_response"))}}},this.handlers.add(s),r.port1.addEventListener("message",s.onMessage),this.target.postMessage({eventType:e,eventId:l,data:t},[r.port2])}).finally(()=>{s&&this.removeMessageHandler(s)})}}function im(){return window}function om(){return"undefined"!==typeof im().WorkerGlobalScope&&"function"===typeof im().importScripts}const lm="firebaseLocalStorageDb",cm="firebaseLocalStorage",dm="fbase_key";class um{constructor(e){this.request=e}toPromise(){return new Promise((e,t)=>{this.request.addEventListener("success",()=>{e(this.request.result)}),this.request.addEventListener("error",()=>{t(this.request.error)})})}}function hm(e,t){return e.transaction([cm],t?"readwrite":"readonly").objectStore(cm)}function pm(){const e=indexedDB.open(lm,1);return new Promise((t,n)=>{e.addEventListener("error",()=>{n(e.error)}),e.addEventListener("upgradeneeded",()=>{const t=e.result;try{t.createObjectStore(cm,{keyPath:dm})}catch(yS){n(yS)}}),e.addEventListener("success",async()=>{const n=e.result;n.objectStoreNames.contains(cm)?t(n):(n.close(),await function(){const e=indexedDB.deleteDatabase(lm);return new um(e).toPromise()}(),t(await pm()))})})}async function mm(e,t,n){const r=hm(e,!0).put({[dm]:t,value:n});return new um(r).toPromise()}function fm(e,t){const n=hm(e,!0).delete(t);return new um(n).toPromise()}class gm{constructor(){this.type="LOCAL",this._shouldAllowMigration=!0,this.listeners={},this.localCache={},this.pollTimer=null,this.pendingWrites=0,this.receiver=null,this.sender=null,this.serviceWorkerReceiverAvailable=!1,this.activeServiceWorker=null,this._workerInitializationPromise=this.initializeServiceWorkerMessaging().then(()=>{},()=>{})}async _openDb(){return this.db||(this.db=await pm()),this.db}async _withRetries(e){let t=0;for(;;)try{const t=await this._openDb();return await e(t)}catch(yS){if(t++>3)throw yS;this.db&&(this.db.close(),this.db=void 0)}}async initializeServiceWorkerMessaging(){return om()?this.initializeReceiver():this.initializeSender()}async initializeReceiver(){this.receiver=rm._getInstance(om()?self:null),this.receiver._subscribe("keyChanged",async(e,t)=>({keyProcessed:(await this._poll()).includes(t.key)})),this.receiver._subscribe("ping",async(e,t)=>["keyChanged"])}async initializeSender(){var e,t;if(this.activeServiceWorker=await async function(){if(!(null===navigator||void 0===navigator?void 0:navigator.serviceWorker))return null;try{return(await navigator.serviceWorker.ready).active}catch(e){return null}}(),!this.activeServiceWorker)return;this.sender=new sm(this.activeServiceWorker);const n=await this.sender._send("ping",{},800);n&&(null===(e=n[0])||void 0===e?void 0:e.fulfilled)&&(null===(t=n[0])||void 0===t?void 0:t.value.includes("keyChanged"))&&(this.serviceWorkerReceiverAvailable=!0)}async notifyServiceWorker(e){if(this.sender&&this.activeServiceWorker&&function(){var e;return(null===(e=null===navigator||void 0===navigator?void 0:navigator.serviceWorker)||void 0===e?void 0:e.controller)||null}()===this.activeServiceWorker)try{await this.sender._send("keyChanged",{key:e},this.serviceWorkerReceiverAvailable?800:50)}catch(t){}}async _isAvailable(){try{if(!indexedDB)return!1;const e=await pm();return await mm(e,$p,"1"),await fm(e,$p),!0}catch(e){}return!1}async _withPendingWrite(e){this.pendingWrites++;try{await e()}finally{this.pendingWrites--}}async _set(e,t){return this._withPendingWrite(async()=>(await this._withRetries(n=>mm(n,e,t)),this.localCache[e]=t,this.notifyServiceWorker(e)))}async _get(e){const t=await this._withRetries(t=>async function(e,t){const n=hm(e,!1).get(t),r=await new um(n).toPromise();return void 0===r?null:r.value}(t,e));return this.localCache[e]=t,t}async _remove(e){return this._withPendingWrite(async()=>(await this._withRetries(t=>fm(t,e)),delete this.localCache[e],this.notifyServiceWorker(e)))}async _poll(){const e=await this._withRetries(e=>{const t=hm(e,!1).getAll();return new um(t).toPromise()});if(!e)return[];if(0!==this.pendingWrites)return[];const t=[],n=new Set;if(0!==e.length)for(const r of e){const e=r.fbase_key,a=r.value;n.add(e),JSON.stringify(this.localCache[e])!==JSON.stringify(a)&&(this.notifyListeners(e,a),t.push(e))}for(const r of Object.keys(this.localCache))this.localCache[r]&&!n.has(r)&&(this.notifyListeners(r,null),t.push(r));return t}notifyListeners(e,t){this.localCache[e]=t;const n=this.listeners[e];if(n)for(const r of Array.from(n))r(t)}startPolling(){this.stopPolling(),this.pollTimer=setInterval(async()=>this._poll(),800)}stopPolling(){this.pollTimer&&(clearInterval(this.pollTimer),this.pollTimer=null)}_addListener(e,t){0===Object.keys(this.listeners).length&&this.startPolling(),this.listeners[e]||(this.listeners[e]=new Set,this._get(e)),this.listeners[e].add(t)}_removeListener(e,t){this.listeners[e]&&(this.listeners[e].delete(t),0===this.listeners[e].size&&delete this.listeners[e]),0===Object.keys(this.listeners).length&&this.stopPolling()}}gm.type="LOCAL";const xm=gm;function vm(e,t){return vh(e,"POST","/v2/accounts/mfaSignIn:start",xh(e,t))}hp("rcb"),new uh(3e4,6e4);const bm="recaptcha";async function ym(e,t,n){var r;if(!e._getRecaptchaConfig())try{await bp(e)}catch(a){console.log("Failed to initialize reCAPTCHA Enterprise config. Triggering the reCAPTCHA v2 verification.")}try{let a;if(a="string"===typeof t?{phoneNumber:t}:t,"session"in a){const t=a.session;if("phoneNumber"in a){ah("enroll"===t.type,e,"internal-error");const r={idToken:t.credential,phoneEnrollmentInfo:{phoneNumber:a.phoneNumber,clientType:"CLIENT_TYPE_WEB"}},s=vp(e,r,"mfaSmsEnrollment",async(e,t)=>{if(t.phoneEnrollmentInfo.captchaResponse===fp){ah((null===n||void 0===n?void 0:n.type)===bm,e,"argument-error");return qp(e,await wm(e,t,n))}return qp(e,t)},"PHONE_PROVIDER");return(await s.catch(e=>Promise.reject(e))).phoneSessionInfo.sessionInfo}{ah("signin"===t.type,e,"internal-error");const s=(null===(r=a.multiFactorHint)||void 0===r?void 0:r.uid)||a.multiFactorUid;ah(s,e,"missing-multi-factor-info");const i={mfaPendingCredential:t.credential,mfaEnrollmentId:s,phoneSignInInfo:{clientType:"CLIENT_TYPE_WEB"}},o=vp(e,i,"mfaSmsSignIn",async(e,t)=>{if(t.phoneSignInInfo.captchaResponse===fp){ah((null===n||void 0===n?void 0:n.type)===bm,e,"argument-error");return vm(e,await wm(e,t,n))}return vm(e,t)},"PHONE_PROVIDER");return(await o.catch(e=>Promise.reject(e))).phoneResponseInfo.sessionInfo}}{const t={phoneNumber:a.phoneNumber,clientType:"CLIENT_TYPE_WEB"},r=vp(e,t,"sendVerificationCode",async(e,t)=>{if(t.captchaResponse===fp){ah((null===n||void 0===n?void 0:n.type)===bm,e,"argument-error");return Ep(e,await wm(e,t,n))}return Ep(e,t)},"PHONE_PROVIDER");return(await r.catch(e=>Promise.reject(e))).sessionInfo}}finally{null===n||void 0===n||n._reset()}}async function wm(e,t,n){ah(n.type===bm,e,"argument-error");const r=await n.verify();ah("string"===typeof r,e,"argument-error");const a=Object.assign({},t);if("phoneEnrollmentInfo"in a){const e=a.phoneEnrollmentInfo.phoneNumber,t=a.phoneEnrollmentInfo.captchaResponse,n=a.phoneEnrollmentInfo.clientType,s=a.phoneEnrollmentInfo.recaptchaVersion;return Object.assign(a,{phoneEnrollmentInfo:{phoneNumber:e,recaptchaToken:r,captchaResponse:t,clientType:n,recaptchaVersion:s}}),a}if("phoneSignInInfo"in a){const e=a.phoneSignInInfo.captchaResponse,t=a.phoneSignInInfo.clientType,n=a.phoneSignInInfo.recaptchaVersion;return Object.assign(a,{phoneSignInInfo:{recaptchaToken:r,captchaResponse:e,clientType:t,recaptchaVersion:n}}),a}return Object.assign(a,{recaptchaToken:r}),a}class jm{constructor(e){this.providerId=jm.PROVIDER_ID,this.auth=lp(e)}verifyPhoneNumber(e,t){return ym(this.auth,e,bd(t))}static credential(e,t){return Ap._fromVerification(e,t)}static credentialFromResult(e){const t=e;return jm.credentialFromTaggedObject(t)}static credentialFromError(e){return jm.credentialFromTaggedObject(e.customData||{})}static credentialFromTaggedObject(e){let t=e._tokenResponse;if(!t)return null;const n=t.phoneNumber,r=t.temporaryProof;return n&&r?Ap._fromTokenResponse(n,r):null}}function Nm(e,t){return t?Vh(t):(ah(e._popupRedirectResolver,e,"argument-error"),e._popupRedirectResolver)}jm.PROVIDER_ID="phone",jm.PHONE_SIGN_IN_METHOD="phone";class km extends Np{constructor(e){super("custom","custom"),this.params=e}_getIdTokenResponse(e){return Sp(e,this._buildIdpRequest())}_linkToIdToken(e,t){return Sp(e,this._buildIdpRequest(t))}_getReauthenticationResolver(e){return Sp(e,this._buildIdpRequest())}_buildIdpRequest(e){const t={requestUri:this.params.requestUri,sessionId:this.params.sessionId,postBody:this.params.postBody,tenantId:this.params.tenantId,pendingToken:this.params.pendingToken,returnSecureToken:!0,returnIdpCredential:!0};return e&&(t.idToken=e),t}}function _m(e){return Kp(e.auth,new km(e),e.bypassAuthState)}function Cm(e){const t=e.auth,n=e.user;return ah(n,t,"internal-error"),Gp(n,new km(e),e.bypassAuthState)}async function Sm(e){const t=e.auth,n=e.user;return ah(n,t,"internal-error"),Hp(n,new km(e),e.bypassAuthState)}class Tm{constructor(e,t,n,r){let a=arguments.length>4&&void 0!==arguments[4]&&arguments[4];this.auth=e,this.resolver=n,this.user=r,this.bypassAuthState=a,this.pendingPromise=null,this.eventManager=null,this.filter=Array.isArray(t)?t:[t]}execute(){return new Promise(async(e,t)=>{this.pendingPromise={resolve:e,reject:t};try{this.eventManager=await this.resolver._initialize(this.auth),await this.onExecution(),this.eventManager.registerConsumer(this)}catch(yS){this.reject(yS)}})}async onAuthEvent(e){const t=e.urlResponse,n=e.sessionId,r=e.postBody,a=e.tenantId,s=e.error,i=e.type;if(s)return void this.reject(s);const o={auth:this.auth,requestUri:t,sessionId:n,tenantId:a||void 0,postBody:r||void 0,user:this.user,bypassAuthState:this.bypassAuthState};try{this.resolve(await this.getIdpTask(i)(o))}catch(yS){this.reject(yS)}}onError(e){this.reject(e)}getIdpTask(e){switch(e){case"signInViaPopup":case"signInViaRedirect":return _m;case"linkViaPopup":case"linkViaRedirect":return Sm;case"reauthViaPopup":case"reauthViaRedirect":return Cm;default:Qu(this.auth,"internal-error")}}resolve(e){ih(this.pendingPromise,"Pending promise was never set"),this.pendingPromise.resolve(e),this.unregisterAndCleanUp()}reject(e){ih(this.pendingPromise,"Pending promise was never set"),this.pendingPromise.reject(e),this.unregisterAndCleanUp()}unregisterAndCleanUp(){this.eventManager&&this.eventManager.unregisterConsumer(this),this.pendingPromise=null,this.cleanUp()}}const Em=new uh(2e3,1e4);class Pm extends Tm{constructor(e,t,n,r,a){super(e,t,r,a),this.provider=n,this.authWindow=null,this.pollId=null,Pm.currentPopupAction&&Pm.currentPopupAction.cancel(),Pm.currentPopupAction=this}async executeNotNull(){const e=await this.execute();return ah(e,this.auth,"internal-error"),e}async onExecution(){ih(1===this.filter.length,"Popup operations only handle one event");const e=am();this.authWindow=await this.resolver._openPopup(this.auth,this.provider,this.filter[0],e),this.authWindow.associatedEvent=e,this.resolver._originValidation(this.auth).catch(e=>{this.reject(e)}),this.resolver._isIframeWebStorageSupported(this.auth,e=>{e||this.reject(eh(this.auth,"web-storage-unsupported"))}),this.pollUserCancellation()}get eventId(){var e;return(null===(e=this.authWindow)||void 0===e?void 0:e.associatedEvent)||null}cancel(){this.reject(eh(this.auth,"cancelled-popup-request"))}cleanUp(){this.authWindow&&this.authWindow.close(),this.pollId&&window.clearTimeout(this.pollId),this.authWindow=null,this.pollId=null,Pm.currentPopupAction=null}pollUserCancellation(){const e=()=>{var t,n;(null===(n=null===(t=this.authWindow)||void 0===t?void 0:t.window)||void 0===n?void 0:n.closed)?this.pollId=window.setTimeout(()=>{this.pollId=null,this.reject(eh(this.auth,"popup-closed-by-user"))},8e3):this.pollId=window.setTimeout(e,Em.get())};e()}}Pm.currentPopupAction=null;const Am=new Map;class Om extends Tm{constructor(e,t){super(e,["signInViaRedirect","linkViaRedirect","reauthViaRedirect","unknown"],t,void 0,arguments.length>2&&void 0!==arguments[2]&&arguments[2]),this.eventId=null}async execute(){let e=Am.get(this.auth._key());if(!e){try{const t=await async function(e,t){const n=Fm(t),r=Dm(e);if(!await r._isAvailable())return!1;const a="true"===await r._get(n);return await r._remove(n),a}(this.resolver,this.auth),n=t?await super.execute():null;e=()=>Promise.resolve(n)}catch(yS){e=()=>Promise.reject(yS)}Am.set(this.auth._key(),e)}return this.bypassAuthState||Am.set(this.auth._key(),()=>Promise.resolve(null)),e()}async onAuthEvent(e){if("signInViaRedirect"===e.type)return super.onAuthEvent(e);if("unknown"!==e.type){if(e.eventId){const t=await this.auth._redirectUserForId(e.eventId);if(t)return this.user=t,super.onAuthEvent(e);this.resolve(null)}}else this.resolve(null)}async onExecution(){}cleanUp(){}}function Im(e,t){Am.set(e._key(),t)}function Dm(e){return Vh(e._redirectPersistence)}function Fm(e){return Gh("pendingRedirect",e.config.apiKey,e.name)}async function Rm(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(Au(e.app))return Promise.reject(nh(e));const r=lp(e),a=Nm(r,t),s=new Om(r,a,n),i=await s.execute();return i&&!n&&(delete i.user._redirectEventId,await r._persistUserIfCurrent(i.user),await r._setRedirectUser(null,t)),i}class Mm{constructor(e){this.auth=e,this.cachedEventUids=new Set,this.consumers=new Set,this.queuedRedirectEvent=null,this.hasHandledPotentialRedirect=!1,this.lastProcessedEventTime=Date.now()}registerConsumer(e){this.consumers.add(e),this.queuedRedirectEvent&&this.isEventForConsumer(this.queuedRedirectEvent,e)&&(this.sendToConsumer(this.queuedRedirectEvent,e),this.saveEventToCache(this.queuedRedirectEvent),this.queuedRedirectEvent=null)}unregisterConsumer(e){this.consumers.delete(e)}onEvent(e){if(this.hasEventBeenHandled(e))return!1;let t=!1;return this.consumers.forEach(n=>{this.isEventForConsumer(e,n)&&(t=!0,this.sendToConsumer(e,n),this.saveEventToCache(e))}),this.hasHandledPotentialRedirect||!function(e){switch(e.type){case"signInViaRedirect":case"linkViaRedirect":case"reauthViaRedirect":return!0;case"unknown":return zm(e);default:return!1}}(e)||(this.hasHandledPotentialRedirect=!0,t||(this.queuedRedirectEvent=e,t=!0)),t}sendToConsumer(e,t){var n;if(e.error&&!zm(e)){const r=(null===(n=e.error.code)||void 0===n?void 0:n.split("auth/")[1])||"internal-error";t.onError(eh(this.auth,r))}else t.onAuthEvent(e)}isEventForConsumer(e,t){const n=null===t.eventId||!!e.eventId&&e.eventId===t.eventId;return t.filter.includes(e.type)&&n}hasEventBeenHandled(e){return Date.now()-this.lastProcessedEventTime>=6e5&&this.cachedEventUids.clear(),this.cachedEventUids.has(Lm(e))}saveEventToCache(e){this.cachedEventUids.add(Lm(e)),this.lastProcessedEventTime=Date.now()}}function Lm(e){return[e.type,e.eventId,e.sessionId,e.tenantId].filter(e=>e).join("-")}function zm(e){let t=e.type,n=e.error;return"unknown"===t&&(null===n||void 0===n?void 0:n.code)==="auth/".concat("no-auth-event")}const Bm=/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/,Um=/^https?/;async function Vm(e){if(e.config.emulator)return;const t=await async function(e){return vh(e,"GET","/v1/projects",arguments.length>1&&void 0!==arguments[1]?arguments[1]:{})}(e),n=t.authorizedDomains;for(const a of n)try{if(Wm(a))return}catch(r){}Qu(e,"unauthorized-domain")}function Wm(e){const t=oh(),n=new URL(t),r=n.protocol,a=n.hostname;if(e.startsWith("chrome-extension://")){const n=new URL(e);return""===n.hostname&&""===a?"chrome-extension:"===r&&e.replace("chrome-extension://","")===t.replace("chrome-extension://",""):"chrome-extension:"===r&&n.hostname===a}if(!Um.test(r))return!1;if(Bm.test(e))return a===e;const s=e.replace(/\./g,"\\.");return new RegExp("^(.+\\."+s+"|"+s+")$","i").test(a)}const Hm=new uh(3e4,6e4);function Gm(){const e=im().___jsl;if(null===e||void 0===e?void 0:e.H)for(const t of Object.keys(e.H))if(e.H[t].r=e.H[t].r||[],e.H[t].L=e.H[t].L||[],e.H[t].r=[...e.H[t].L],e.CP)for(let n=0;n{var r,a,s;function i(){Gm(),gapi.load("gapi.iframes",{callback:()=>{t(gapi.iframes.getContext())},ontimeout:()=>{Gm(),n(eh(e,"network-request-failed"))},timeout:Hm.get()})}if(null===(a=null===(r=im().gapi)||void 0===r?void 0:r.iframes)||void 0===a?void 0:a.Iframe)t(gapi.iframes.getContext());else{if(!(null===(s=im().gapi)||void 0===s?void 0:s.load)){const t=hp("iframefcb");return im()[t]=()=>{gapi.load?i():n(eh(e,"network-request-failed"))},up("".concat(dp.gapiScript,"?onload=").concat(t)).catch(e=>n(e))}i()}}).catch(e=>{throw qm=null,e})}let qm=null;const $m=new uh(5e3,15e3),Zm={style:{position:"absolute",top:"-100px",width:"1px",height:"1px"},"aria-hidden":"true",tabindex:"-1"},Ym=new Map([["identitytoolkit.googleapis.com","p"],["staging-identitytoolkit.sandbox.googleapis.com","s"],["test-identitytoolkit.sandbox.googleapis.com","t"]]);function Xm(e){const t=e.config;ah(t.authDomain,e,"auth-domain-config-required");const n=t.emulator?hh(t,"emulator/auth/iframe"):"https://".concat(e.config.authDomain,"/").concat("__/auth/iframe"),r={apiKey:t.apiKey,appName:e.name,v:Du},a=Ym.get(e.config.apiHost);a&&(r.eid=a);const s=e._getFrameworks();return s.length&&(r.fw=s.join(",")),"".concat(n,"?").concat(md(r).slice(1))}async function Jm(e){const t=await function(e){return qm=qm||Km(e),qm}(e),n=im().gapi;return ah(n,e,"internal-error"),t.open({where:document.body,url:Xm(e),messageHandlersFilter:n.iframes.CROSS_ORIGIN_IFRAMES_FILTER,attributes:Zm,dontclear:!0},t=>new Promise(async(n,r)=>{await t.restyle({setHideOnLeave:!1});const a=eh(e,"network-request-failed"),s=im().setTimeout(()=>{r(a)},$m.get());function i(){im().clearTimeout(s),n(t)}t.ping(i).then(i,()=>{r(a)})}))}const Qm={location:"yes",resizable:"yes",statusbar:"yes",toolbar:"no"};class ef{constructor(e){this.window=e,this.associatedEvent=null}close(){if(this.window)try{this.window.close()}catch(yS){}}}function tf(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:500,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:600;const s=Math.max((window.screen.availHeight-a)/2,0).toString(),i=Math.max((window.screen.availWidth-r)/2,0).toString();let o="";const l=Object.assign(Object.assign({},Qm),{width:r.toString(),height:a.toString(),top:s,left:i}),c=ld().toLowerCase();n&&(o=Yh(c)?"_blank":n),$h(c)&&(t=t||"http://localhost",l.scrollbars="yes");const d=Object.entries(l).reduce((e,t)=>{let n=p(t,2),r=n[0],a=n[1];return"".concat(e).concat(r,"=").concat(a,",")},"");if(function(){var e;return tp(arguments.length>0&&void 0!==arguments[0]?arguments[0]:ld())&&!!(null===(e=window.navigator)||void 0===e?void 0:e.standalone)}(c)&&"_self"!==o)return function(e,t){const n=document.createElement("a");n.href=e,n.target=t;const r=document.createEvent("MouseEvent");r.initMouseEvent("click",!0,!0,window,1,0,0,0,0,!1,!1,!1,!1,1,null),n.dispatchEvent(r)}(t||"",o),new ef(null);const u=window.open(t||"",o,d);ah(u,e,"popup-blocked");try{u.focus()}catch(yS){}return new ef(u)}const nf="__/auth/handler",rf="emulator/auth/handler",af=encodeURIComponent("fac");async function sf(e,t,n,r,a,s){ah(e.config.authDomain,e,"auth-domain-config-required"),ah(e.config.apiKey,e,"invalid-api-key");const i={apiKey:e.config.apiKey,appName:e.name,authType:n,redirectUrl:r,v:Du,eventId:a};if(t instanceof Dp){t.setDefaultLanguage(e.languageCode),i.providerId=t.providerId||"",function(e){for(const t in e)if(Object.prototype.hasOwnProperty.call(e,t))return!1;return!0}(t.getCustomParameters())||(i.customParameters=JSON.stringify(t.getCustomParameters()));for(const e of Object.entries(s||{})){var o=p(e,2);const t=o[0],n=o[1];i[t]=n}}if(t instanceof Fp){const e=t.getScopes().filter(e=>""!==e);e.length>0&&(i.scopes=e.join(","))}e.tenantId&&(i.tid=e.tenantId);const l=i;for(const u of Object.keys(l))void 0===l[u]&&delete l[u];const c=await e._getAppCheckToken(),d=c?"#".concat(af,"=").concat(encodeURIComponent(c)):"";return"".concat(function(e){let t=e.config;if(!t.emulator)return"https://".concat(t.authDomain,"/").concat(nf);return hh(t,rf)}(e),"?").concat(md(l).slice(1)).concat(d)}const of="webStorageSupport";const lf=class{constructor(){this.eventManagers={},this.iframes={},this.originValidationPromises={},this._redirectPersistence=nm,this._completeRedirectFn=Rm,this._overrideRedirectResult=Im}async _openPopup(e,t,n,r){var a;ih(null===(a=this.eventManagers[e._key()])||void 0===a?void 0:a.manager,"_initialize() not called before _openPopup()");return tf(e,await sf(e,t,n,oh(),r),am())}async _openRedirect(e,t,n,r){await this._originValidation(e);return function(e){im().location.href=e}(await sf(e,t,n,oh(),r)),new Promise(()=>{})}_initialize(e){const t=e._key();if(this.eventManagers[t]){const e=this.eventManagers[t],n=e.manager,r=e.promise;return n?Promise.resolve(n):(ih(r,"If manager is not set, promise should be"),r)}const n=this.initAndGetManager(e);return this.eventManagers[t]={promise:n},n.catch(()=>{delete this.eventManagers[t]}),n}async initAndGetManager(e){const t=await Jm(e),n=new Mm(e);return t.register("authEvent",t=>{ah(null===t||void 0===t?void 0:t.authEvent,e,"invalid-auth-event");return{status:n.onEvent(t.authEvent)?"ACK":"ERROR"}},gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER),this.eventManagers[e._key()]={manager:n},this.iframes[e._key()]=t,n}_isIframeWebStorageSupported(e,t){this.iframes[e._key()].send(of,{type:of},n=>{var r;const a=null===(r=null===n||void 0===n?void 0:n[0])||void 0===r?void 0:r[of];void 0!==a&&t(!!a),Qu(e,"internal-error")},gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER)}_originValidation(e){const t=e._key();return this.originValidationPromises[t]||(this.originValidationPromises[t]=Vm(e)),this.originValidationPromises[t]}get _shouldInitProactively(){return rp()||Zh()||tp()}};var cf="@firebase/auth",df="1.10.8";class uf{constructor(e){this.auth=e,this.internalListeners=new Map}getUid(){var e;return this.assertAuthConfigured(),(null===(e=this.auth.currentUser)||void 0===e?void 0:e.uid)||null}async getToken(e){if(this.assertAuthConfigured(),await this.auth._initializationPromise,!this.auth.currentUser)return null;return{accessToken:await this.auth.currentUser.getIdToken(e)}}addAuthTokenListener(e){if(this.assertAuthConfigured(),this.internalListeners.has(e))return;const t=this.auth.onIdTokenChanged(t=>{e((null===t||void 0===t?void 0:t.stsTokenManager.accessToken)||null)});this.internalListeners.set(e,t),this.updateProactiveRefresh()}removeAuthTokenListener(e){this.assertAuthConfigured();const t=this.internalListeners.get(e);t&&(this.internalListeners.delete(e),t(),this.updateProactiveRefresh())}assertAuthConfigured(){ah(this.auth._initializationPromise,"dependent-sdk-initialized-before-auth")}updateProactiveRefresh(){this.internalListeners.size>0?this.auth._startProactiveRefresh():this.auth._stopProactiveRefresh()}}const hf=nd("authIdTokenMaxAge")||300;let pf=null;var mf;dp={loadJS:e=>new Promise((t,n)=>{const r=document.createElement("script");r.setAttribute("src",e),r.onload=t,r.onerror=e=>{const t=eh("internal-error");t.customData=e,n(t)},r.type="text/javascript",r.charset="UTF-8",function(){var e,t;return null!==(t=null===(e=document.getElementsByTagName("head"))||void 0===e?void 0:e[0])&&void 0!==t?t:document}().appendChild(r)}),gapiScript:"https://apis.google.com/js/api.js",recaptchaV2Script:"https://www.google.com/recaptcha/api.js",recaptchaEnterpriseScript:"https://www.google.com/recaptcha/enterprise.js?render="},mf="Browser",Eu(new yd("auth",(e,t)=>{let n=t.options;const r=e.getProvider("app").getImmediate(),a=e.getProvider("heartbeat"),s=e.getProvider("app-check-internal"),i=r.options,o=i.apiKey,l=i.authDomain;ah(o&&!o.includes(":"),"invalid-api-key",{appName:r.name});const c={apiKey:o,authDomain:l,clientPlatform:mf,apiHost:"identitytoolkit.googleapis.com",tokenApiHost:"securetoken.googleapis.com",apiScheme:"https",sdkClientVersion:ap(mf)},d=new op(r,a,s,c);return function(e,t){const n=(null===t||void 0===t?void 0:t.persistence)||[],r=(Array.isArray(n)?n:[n]).map(Vh);(null===t||void 0===t?void 0:t.errorMap)&&e._updateErrorMap(t.errorMap),e._initializeWithPersistence(r,null===t||void 0===t?void 0:t.popupRedirectResolver)}(d,n),d},"PUBLIC").setInstantiationMode("EXPLICIT").setInstanceCreatedCallback((e,t,n)=>{e.getProvider("auth-internal").initialize()})),Eu(new yd("auth-internal",e=>(e=>new uf(e))(lp(e.getProvider("auth").getImmediate())),"PRIVATE").setInstantiationMode("EXPLICIT")),Ru(cf,df,function(e){switch(e){case"Node":return"node";case"ReactNative":return"rn";case"Worker":return"webworker";case"Cordova":return"cordova";case"WebExtension":return"web-extension";default:return}}(mf)),Ru(cf,df,"esm2017");const ff={apiKey:{NODE_ENV:"production",PUBLIC_URL:"",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0}.REACT_APP_FIREBASE_API_KEY,authDomain:{NODE_ENV:"production",PUBLIC_URL:"",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0}.REACT_APP_FIREBASE_AUTH_DOMAIN,projectId:{NODE_ENV:"production",PUBLIC_URL:"",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0}.REACT_APP_FIREBASE_PROJECT_ID,storageBucket:{NODE_ENV:"production",PUBLIC_URL:"",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0}.REACT_APP_FIREBASE_STORAGE_BUCKET,messagingSenderId:{NODE_ENV:"production",PUBLIC_URL:"",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0}.REACT_APP_FIREBASE_MESSAGING_SENDER_ID,appId:{NODE_ENV:"production",PUBLIC_URL:"",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0}.REACT_APP_FIREBASE_APP_ID,measurementId:{NODE_ENV:"production",PUBLIC_URL:"",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0}.REACT_APP_FIREBASE_MEASUREMENT_ID};let gf=null,xf=null;try{xf=Fu(ff),gf=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Nu;const t=_u.get(e);if(!t&&e===Nu&&td())return Fu();if(!t)throw Ou.create("no-app",{appName:e});return t}();const t=Pu(e,"auth");if(t.isInitialized())return t.getImmediate();const n=function(e,t){const n=Pu(e,"auth");if(n.isInitialized()){const e=n.getImmediate();if(hd(n.getOptions(),null!==t&&void 0!==t?t:{}))return e;Qu(e,"already-initialized")}return n.initialize({options:t})}(e,{popupRedirectResolver:lf,persistence:[xm,Xp,nm]}),r=nd("authTokenSyncURL");if(r&&"boolean"===typeof isSecureContext&&isSecureContext){const e=new URL(r,location.origin);if(location.origin===e.origin){const t=(a=e.toString(),async e=>{const t=e&&await e.getIdTokenResult(),n=t&&((new Date).getTime()-Date.parse(t.issuedAtTime))/1e3;if(n&&n>hf)return;const r=null===t||void 0===t?void 0:t.token;pf!==r&&(pf=r,await fetch(a,{method:r?"POST":"DELETE",headers:r?{Authorization:"Bearer ".concat(r)}:{}}))});!function(e,t,n){bd(e).beforeAuthStateChanged(t,n)}(n,t,()=>t(n.currentUser)),function(e,t,n,r){bd(e).onIdTokenChanged(t,n,r)}(n,e=>t(e))}}var a;const s=ed("auth");return s&&yp(n,"http://".concat(s)),n}(xf)}catch(yS){console.warn("Firebase initialization failed \u2014 auth features disabled:",yS.message)}const vf=e.createContext(void 0);function bf(t){let n=t.children;const r=p((0,e.useState)(null),2),a=r[0],s=r[1],i=p((0,e.useState)(!1),2),o=i[0],c=i[1],d=p((0,e.useState)(!1),2),u=d[0],h=d[1],m=p((0,e.useState)(!1),2),f=m[0],g=(m[1],p((0,e.useState)(!0),2)),x=g[0],v=g[1];async function b(e){if(e){s(l({},e));const t=e.providerData.some(e=>"password"===e.providerId);h(t),c(!0)}else s(null),c(!1);v(!1)}(0,e.useEffect)(()=>{if(!gf)return void v(!1);const e=function(e,t,n,r){return bd(e).onAuthStateChanged(t,n,r)}(gf,b);return e},[]);const y={userLoggedIn:o,isEmailUser:u,isGoogleUser:f,currentUser:a,setCurrentUser:s};return(0,Ve.jsx)(vf.Provider,{value:y,children:!x&&n})}const yf=()=>gf.signOut(),wf=t=>{let n=t.email,r=t.username;const a=p((0,e.useState)(!1),2),s=a[0],i=a[1],o=n.charAt(0).toUpperCase();return(0,Ve.jsxs)("div",{className:"relative",children:[(0,Ve.jsx)("div",{className:"flex items-center justify-center w-10 h-10 bg-green-800 text-white rounded-full cursor-pointer absolute -top-[0.6rem] right-[5rem]",onMouseEnter:()=>i(!0),onMouseLeave:()=>i(!1),children:o}),(0,Ve.jsx)("button",{className:" text-red-500 text-sm font-medium hover:underline",onClick:yf,children:"Sign Out"}),s&&(0,Ve.jsxs)("div",{className:"absolute bg-gray-800 top-[2rem] right-[1rem] py-2 pr-10 pl-2 text-start rounded-lg font-normal",children:[(0,Ve.jsx)("span",{className:"text-gray-200 text-sm",children:"Glassy UI Account"}),(0,Ve.jsx)("br",{}),(0,Ve.jsx)("span",{className:"text-gray-400 text-sm",children:n}),(0,Ve.jsx)("br",{}),r&&(0,Ve.jsx)("span",{className:"text-gray-400 text-sm",children:r}),(0,Ve.jsx)("br",{})]})]})},jf=e=>{let t=e.to,n=e.label,r=e.active;return(0,Ve.jsxs)(St,{to:t,className:"nav-item".concat(r?" nav-item--active":""),children:[n,r&&(0,Ve.jsx)("span",{className:"nav-indicator","aria-hidden":"true"})]})},Nf=e=>{let t=e.to,n=e.label,r=e.active;return(0,Ve.jsx)(St,{to:t,className:"mobile-nav-item".concat(r?" mobile-nav-item--active":""),children:n})},kf=()=>(0,Ve.jsx)("svg",{viewBox:"0 0 24 24",fill:"currentColor",width:"15",height:"15","aria-hidden":"true",children:(0,Ve.jsx)("path",{d:"M12 0C5.374 0 0 5.373 0 12c0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23A11.509 11.509 0 0112 5.803c1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576C20.566 21.797 24 17.3 24 12c0-6.627-5.373-12-12-12z"})}),_f=()=>{var t,n;const r=p((0,e.useState)(!1),2),a=r[0],s=r[1],i=p((0,e.useState)(!1),2),o=i[0],l=i[1],c=de(),d=function(){const t=(0,e.useContext)(vf);if(void 0===t)throw new Error("useAuth must be used within an AuthProvider");return t}(),u=d.currentUser,h=d.userLoggedIn,m=Ht(),f="https://github.com/Jaishree2310/GlassyUI-Components";(0,e.useEffect)(()=>{const e=()=>s(window.scrollY>24);return window.addEventListener("scroll",e,{passive:!0}),()=>window.removeEventListener("scroll",e)},[]),(0,e.useEffect)(()=>{l(!1)},[c.pathname]);const g=e=>c.pathname===e;return(0,Ve.jsxs)("header",{className:"site-header adaptive-glass".concat(a?" site-header--scrolled":""),children:[(0,Ve.jsxs)("div",{className:"header-inner",children:[(0,Ve.jsxs)(St,{to:"/",className:"header-logo",children:[(0,Ve.jsx)("div",{className:"logo-mark",children:"G"}),(0,Ve.jsxs)("span",{className:"logo-wordmark",children:[(0,Ve.jsx)("span",{className:"logo-accent",children:"Glassy"}),"UI"]})]}),(0,Ve.jsxs)("nav",{className:"header-nav","aria-label":"Main navigation",children:[(0,Ve.jsx)(jf,{to:"/",label:"Home",active:g("/")}),(0,Ve.jsx)(jf,{to:"/components",label:"Components",active:g("/components")}),(0,Ve.jsx)(jf,{to:"/about",label:"About",active:g("/about")}),(0,Ve.jsx)(jf,{to:"/contributors",label:"Contributors",active:g("/contributors")}),(0,Ve.jsx)(jf,{to:"/adaptive-background-intelligence",label:"Adaptive AI",active:g("/adaptive-background-intelligence")}),(0,Ve.jsx)(jf,{to:"/stories",label:"Stories",active:g("/stories")})]}),(0,Ve.jsxs)("div",{className:"header-actions",children:[(0,Ve.jsxs)("a",{href:f,target:"_blank",rel:"noopener noreferrer",className:"github-pill","aria-label":"Star on GitHub",children:[(0,Ve.jsx)(kf,{}),(0,Ve.jsx)("span",{children:"Star"}),(0,Ve.jsxs)("span",{className:"github-star-badge",children:["\u2605 ",m]})]}),h&&u&&(0,Ve.jsx)(wf,{email:null!==(t=u.email)&&void 0!==t?t:"",username:null!==(n=u.displayName)&&void 0!==n?n:""}),(0,Ve.jsxs)("button",{className:"hamburger".concat(o?" hamburger--open":""),onClick:()=>l(e=>!e),"aria-label":"Toggle menu","aria-expanded":o,children:[(0,Ve.jsx)("span",{}),(0,Ve.jsx)("span",{}),(0,Ve.jsx)("span",{})]})]})]}),(0,Ve.jsxs)("div",{className:"mobile-drawer".concat(o?" mobile-drawer--open":""),children:[(0,Ve.jsxs)("nav",{className:"mobile-nav","aria-label":"Mobile navigation",children:[(0,Ve.jsx)(Nf,{to:"/",label:"Home",active:g("/")}),(0,Ve.jsx)(Nf,{to:"/components",label:"Components",active:g("/components")}),(0,Ve.jsx)(Nf,{to:"/about",label:"About",active:g("/about")}),(0,Ve.jsx)(Nf,{to:"/contributors",label:"Contributors",active:g("/contributors")}),(0,Ve.jsx)(Nf,{to:"/adaptive-background-intelligence",label:"Adaptive AI",active:g("/adaptive-background-intelligence")}),(0,Ve.jsx)(Nf,{to:"/stories",label:"Stories",active:g("/stories")})]}),(0,Ve.jsxs)("a",{href:f,target:"_blank",rel:"noopener noreferrer",className:"mobile-github-btn",children:[(0,Ve.jsx)(kf,{})," Star on GitHub"]})]})]})},Cf=()=>{const t=he(),n=p((0,e.useState)({}),2),r=n[0],a=n[1],s=function(){return"backdrop-filter backdrop-blur-lg bg-white bg-opacity-".concat(arguments.length>0&&void 0!==arguments[0]?arguments[0]:20," \n border border-white border-opacity-20 rounded-lg shadow-lg transition-all duration-300")},i=e=>{let t=e.text,n=e.codeKey;return(0,Ve.jsx)("button",{onClick:()=>((e,t)=>{navigator.clipboard.writeText(e).then(()=>{a(e=>l(l({},e),{},{[t]:!0})),setTimeout(()=>a(e=>l(l({},e),{},{[t]:!1})),2e3)})})(t,n),className:"absolute top-2 right-2 ".concat(s()," p-2 hover:bg-white/40 transition-all duration-300 z-10"),title:"Copy to clipboard",children:r[n]?(0,Ve.jsx)(Le,{size:16,className:"text-green-600"}):(0,Ve.jsx)(ze,{size:16,className:"text-white"})})},o='\n \n\n function BackToTopButton() {\n const handleScroll = () => {\n window.scrollTo({ top: 0, behavior: \'smooth\' });\n };\n\n return (\n \n \u2191\n \n );\n}';return(0,Ve.jsxs)(Ge,{children:[(0,Ve.jsxs)("button",{onClick:()=>t(-1),className:"mb-8 flex items-center ".concat(s(10)," px-4 py-2 hover:bg-white/40 transition-all duration-300 text-gray-300"),children:[(0,Ve.jsx)(Be,{size:20,className:"mr-2"}),"Back to Components"]}),(0,Ve.jsx)("h1",{className:"text-6xl font-bold mb-8 text-white",children:"Back to Top Button"}),(0,Ve.jsx)("p",{className:"text-xl mb-8 text-white",children:"A simple button to scroll back to the top of the page."}),(0,Ve.jsxs)("div",{className:"".concat(s()," p-8 mb-8 relative"),children:[(0,Ve.jsx)("h2",{className:"text-3xl font-bold mb-6 text-white",children:"Basic Usage"}),(0,Ve.jsxs)("div",{className:"relative",children:[(0,Ve.jsx)("pre",{className:"bg-gray-800 text-white p-6 rounded-lg overflow-x-auto whitespace-pre-wrap max-sm:text-[0.55rem]",children:o}),(0,Ve.jsx)(i,{text:o,codeKey:"backToTop"})]})]}),(0,Ve.jsxs)("div",{className:"".concat(s()," p-8 mb-8"),children:[(0,Ve.jsx)("h2",{className:"text-3xl font-bold mb-6 text-white",children:"Props"}),(0,Ve.jsx)("div",{className:"overflow-x-auto",children:(0,Ve.jsxs)("table",{className:"w-full",children:[(0,Ve.jsx)("thead",{children:(0,Ve.jsxs)("tr",{className:"bg-white bg-opacity-20",children:[(0,Ve.jsx)("th",{className:"text-left p-2 text-gray-300",children:"Prop"}),(0,Ve.jsx)("th",{className:"text-left p-2 text-gray-300",children:"Type"}),(0,Ve.jsx)("th",{className:"text-left p-2 text-gray-300",children:"Default"}),(0,Ve.jsx)("th",{className:"text-left p-2 text-gray-300",children:"Description"})]})}),(0,Ve.jsxs)("tbody",{children:[(0,Ve.jsxs)("tr",{children:[(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"onClick"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"function"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"-"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"Function to execute when the button is clicked"})]}),(0,Ve.jsxs)("tr",{className:"bg-white bg-opacity-10",children:[(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"title"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"string"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:'"Back to Top"'}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"Tooltip text when hovering over the button"})]})]})]})})]}),(0,Ve.jsxs)("div",{className:"".concat(s()," p-8 mb-8"),children:[(0,Ve.jsx)("h2",{className:"text-3xl font-bold mb-6 text-white",children:"Customization"}),(0,Ve.jsx)("p",{className:"mb-6 text-lg text-white",children:"Customize the button's style through the className prop or inline styles."}),(0,Ve.jsx)("button",{className:"fixed bottom-5 right-5 py-3 px-5 bg-blue-500 rounded-full text-white shadow-lg transition-transform hover:scale-105",title:"Back to Top",onClick:()=>window.scrollTo({top:0,behavior:"smooth"}),children:"\u2191"})]})]})},Sf=t=>{let n=t.options,r=t.onSelect;const a=p((0,e.useState)(!1),2),s=a[0],i=a[1];return(0,Ve.jsxs)("div",{className:"relative",children:[(0,Ve.jsx)("button",{onClick:()=>i(!s),className:"bg-blue-500 text-white p-2 rounded-md",children:"Select an option"}),s&&(0,Ve.jsx)("ul",{className:"absolute mt-2 bg-gray-800 rounded-md shadow-lg z-10",children:n.map(e=>(0,Ve.jsx)("li",{onClick:()=>{r(e),i(!1)},className:"p-2 hover:bg-gray-600 cursor-pointer",children:e},e))})]})},Tf=()=>{const t=he(),n=p((0,e.useState)({}),2),r=n[0],a=n[1],s=p((0,e.useState)("Option 1"),2),i=s[0],o=s[1],c=function(){return"backdrop-filter backdrop-blur-lg bg-white bg-opacity-".concat(arguments.length>0&&void 0!==arguments[0]?arguments[0]:20," \n border border-white border-opacity-20 rounded-lg shadow-lg transition-all duration-300")},d=e=>{let t=e.text,n=e.codeKey;return(0,Ve.jsx)("button",{onClick:()=>((e,t)=>{navigator.clipboard.writeText(e).then(()=>{a(e=>l(l({},e),{},{[t]:!0})),setTimeout(()=>a(e=>l(l({},e),{},{[t]:!1})),2e3)})})(t,n),className:"absolute top-2 right-2 ".concat(c()," p-2 hover:bg-white/40 transition-all duration-300 z-10"),title:"Copy to clipboard",children:r[n]?(0,Ve.jsx)(Le,{size:16,className:"text-green-600"}):(0,Ve.jsx)(ze,{size:16,className:"text-white"})})},u='const DropdownMenu = ({ options, onSelect }) => {\n\n const [isOpen, setIsOpen] = useState(false);\n options = [\'Option 1\' , \'Option 2\' , \'Option 3\']\n \n return (\n
\n setIsOpen(!isOpen)}\n className="bg-blue-500 text-white p-2 rounded-md"\n >\n Select an option\n \n {isOpen && (\n
    \n {options.map(option => (\n { onSelect(option); setIsOpen(false); }}\n className="p-2 hover:bg-gray-600 cursor-pointer"\n >\n {option}\n \n ))}\n
\n )}\n
\n );\n };',h=" console.log('Selected:', option)}\n/>";return(0,Ve.jsxs)(Ge,{children:[(0,Ve.jsxs)("button",{onClick:()=>t(-1),className:"mb-8 flex items-center ".concat(c(10)," px-4 py-2 hover:bg-white/40 transition-all duration-300 text-gray-100"),children:[(0,Ve.jsx)(Be,{size:20,className:"mr-2"}),"Back to Components"]}),(0,Ve.jsx)("h1",{className:"text-6xl font-bold mb-8 text-white",children:"Dropdown Menu"}),(0,Ve.jsx)("p",{className:"text-xl mb-8 text-white",children:"A customizable dropdown menu component."}),(0,Ve.jsxs)("div",{className:"".concat(c()," p-8 mb-8 relative"),children:[(0,Ve.jsx)("h2",{className:"text-3xl font-bold mb-6 text-white",children:"Basic Usage"}),(0,Ve.jsxs)("div",{className:"relative",children:[(0,Ve.jsx)("pre",{className:"bg-gray-800 text-white p-6 rounded-lg overflow-x-auto whitespace-pre-wrap max-sm:text-[0.55rem]",children:u}),(0,Ve.jsx)(d,{text:u,codeKey:"basicUsage"})]})]}),(0,Ve.jsxs)("div",{className:"".concat(c()," p-8 mb-8"),children:[(0,Ve.jsx)("h2",{className:"text-3xl font-bold mb-6 text-white",children:"Example Dropdown Menu"}),(0,Ve.jsx)("p",{className:"mb-6 text-lg text-white",children:"An example implementation of a dropdown menu."}),(0,Ve.jsx)(Sf,{options:["Option 1","Option 2","Option 3"],onSelect:e=>o(e)}),(0,Ve.jsxs)("p",{className:"mt-4",children:["Selected: ",i]}),(0,Ve.jsxs)("div",{className:"relative mt-8",children:[(0,Ve.jsx)("pre",{className:"bg-gray-800 text-white p-6 rounded-lg overflow-x-auto whitespace-pre-wrap max-sm:text-[0.55rem]",children:h}),(0,Ve.jsx)(d,{text:h,codeKey:"dropdownExample"})]})]}),(0,Ve.jsxs)("section",{className:"".concat(c()," p-6 mb-14 text-white relative z-10"),children:[(0,Ve.jsx)("h2",{className:"text-3xl font-bold mb-4 text-gray-100",children:"Props"}),(0,Ve.jsx)("div",{className:"overflow-x-auto",children:(0,Ve.jsxs)("table",{className:"w-full",children:[(0,Ve.jsx)("thead",{children:(0,Ve.jsxs)("tr",{className:"bg-white bg-opacity-20",children:[(0,Ve.jsx)("th",{className:"text-left p-2 text-gray-100",children:"Prop"}),(0,Ve.jsx)("th",{className:"text-left p-2 text-gray-100",children:"Type"}),(0,Ve.jsx)("th",{className:"text-left p-2 text-gray-100",children:"Default"}),(0,Ve.jsx)("th",{className:"text-left p-2 text-gray-100",children:"Description"})]})}),(0,Ve.jsxs)("tbody",{children:[(0,Ve.jsxs)("tr",{children:[(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"options"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"array"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"[ ]"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"Items in the dropdown"})]}),(0,Ve.jsxs)("tr",{className:"bg-white bg-opacity-10",children:[(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"onSelect"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"function"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"-"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"Task to do after selecting the option"})]})]})]})})]})]})},Ef=Me("Truck",[["path",{d:"M14 18V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v11a1 1 0 0 0 1 1h2",key:"wrbu53"}],["path",{d:"M15 18H9",key:"1lyqi6"}],["path",{d:"M19 18h2a1 1 0 0 0 1-1v-3.65a1 1 0 0 0-.22-.624l-3.48-4.35A1 1 0 0 0 17.52 8H14",key:"lysw3i"}],["circle",{cx:"17",cy:"18",r:"2",key:"332jqn"}],["circle",{cx:"7",cy:"18",r:"2",key:"19iecd"}]]),Pf=Me("CircleCheckBig",[["path",{d:"M22 11.08V12a10 10 0 1 1-5.93-9.14",key:"g774vq"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]),Af=Me("User",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]),Of=Me("Settings",[["path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z",key:"1qme2f"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]),If=Me("Award",[["path",{d:"m15.477 12.89 1.515 8.526a.5.5 0 0 1-.81.47l-3.58-2.687a1 1 0 0 0-1.197 0l-3.586 2.686a.5.5 0 0 1-.81-.469l1.514-8.526",key:"1yiouv"}],["circle",{cx:"12",cy:"8",r:"6",key:"1vp47v"}]]),Df={sm:"backdrop-blur-sm",md:"backdrop-blur-md",lg:"backdrop-blur-lg",xl:"backdrop-blur-xl"},Ff=t=>{let n=t.steps,r=t.activeStep,a=t.orientation,s=void 0===a?"horizontal":a,i=t.glassOpacity,o=void 0===i?.15:i,l=t.blurIntensity,c=void 0===l?"xl":l,d=t.completedColor,u=void 0===d?"#10B981":d,h=t.activeColor,p=void 0===h?"#a855f7":h,m=t.connectorStyle,f=void 0===m?"solid":m,g=t.onStepClick;const x="vertical"===s,v=Df[c];return(0,Ve.jsx)("div",{className:"w-full flex ".concat(x?"flex-col space-y-3":"flex-row items-center justify-between max-md:flex-col max-md:space-y-4 max-md:items-start"),children:n.map((t,a)=>{const s=(e=>ei&&g(a),children:[(0,Ve.jsxs)("div",{className:"relative flex-shrink-0",children:["active"===s&&(0,Ve.jsx)("span",{className:"absolute -inset-1 rounded-full animate-ping opacity-30 pointer-events-none",style:{backgroundColor:p}}),(0,Ve.jsx)("div",{style:"completed"===s?{backgroundColor:u,borderColor:u,color:"#ffffff",boxShadow:"0 0 12px ".concat(u,"80")}:"active"===s?{backgroundColor:"rgba(255, 255, 255, ".concat(o+.1,")"),borderColor:p,color:"#ffffff",boxShadow:"0 0 10px ".concat(p,"50")}:{backgroundColor:"rgba(255, 255, 255, ".concat(o,")"),borderColor:"rgba(255, 255, 255, 0.2)",color:"rgba(255, 255, 255, 0.4)"},className:"w-10 h-10 rounded-full flex items-center justify-center border transition-all duration-300 font-semibold text-sm backdrop-filter ".concat(v," ").concat(i?"group-hover:bg-white/30 group-hover:scale-105":""),children:"completed"===s?t.icon||(0,Ve.jsx)(Le,{size:18,className:"stroke-[3]"}):t.icon||(0,Ve.jsx)("span",{children:a+1})})]}),(0,Ve.jsxs)("div",{className:"ml-4 text-left",children:[(0,Ve.jsx)("h4",{className:"font-semibold tracking-wide text-sm transition-colors duration-300 ".concat("active"===s?"text-white":"completed"===s?"text-slate-200":"text-white/40"),children:t.title}),t.description&&(0,Ve.jsx)("p",{className:"text-xs mt-0.5 transition-colors duration-300 ".concat("active"===s?"text-slate-300":"completed"===s?"text-slate-400":"text-white/20"),children:t.description})]}),!l&&!x&&(0,Ve.jsx)("div",{className:"flex-grow mx-4 max-md:hidden",children:(0,Ve.jsx)("div",{style:(()=>{const e=a{const t=he(),n=p((0,e.useState)({}),2),r=n[0],a=n[1],s=p((0,e.useState)(1),2),i=s[0],o=s[1],c=p((0,e.useState)("horizontal"),2),d=c[0],u=c[1],h=p((0,e.useState)(.2),2),m=h[0],f=h[1],g=p((0,e.useState)("md"),2),x=g[0],v=g[1],b=p((0,e.useState)("#10B981"),2),y=b[0],w=b[1],j=p((0,e.useState)("#EC4899"),2),N=j[0],k=j[1],_=p((0,e.useState)("solid"),2),C=_[0],S=_[1],T=p((0,e.useState)(0),2),E=T[0],P=T[1],A=p((0,e.useState)(""),2),O=A[0],I=A[1],D=p((0,e.useState)(""),2),F=D[0],R=D[1],M=p((0,e.useState)(""),2),L=M[0],z=M[1],B=function(){return"backdrop-filter backdrop-blur-lg bg-white bg-opacity-".concat(arguments.length>0&&void 0!==arguments[0]?arguments[0]:20," \n border border-white border-opacity-20 rounded-lg shadow-lg transition-all duration-300")},U=e=>{let t=e.text,n=e.codeKey;return(0,Ve.jsx)("button",{onClick:()=>((e,t)=>{navigator.clipboard.writeText(e).then(()=>{a(e=>l(l({},e),{},{[t]:!0})),setTimeout(()=>a(e=>l(l({},e),{},{[t]:!1})),2e3)})})(t,n),className:"absolute top-2 right-2 ".concat(B(10)," p-2 hover:bg-opacity-40 transition-all duration-300 z-10"),title:"Copy to clipboard",children:r[n]?(0,Ve.jsx)(Le,{size:16,className:"text-green-600"}):(0,Ve.jsx)(ze,{size:16,className:"text-gray-100"})})},V=[{title:"Cart",description:"Review items",icon:(0,Ve.jsx)(no,{size:18})},{title:"Shipping",description:"Delivery address",icon:(0,Ve.jsx)(Ef,{size:18})},{title:"Payment",description:"Details & billing",icon:(0,Ve.jsx)(wo,{size:18})},{title:"Confirm",description:"Receipt details",icon:(0,Ve.jsx)(Pf,{size:18})}],W=[{title:"Create Profile",description:"Input details",icon:(0,Ve.jsx)(Af,{size:18})},{title:"Preferences",description:"Notifications",icon:(0,Ve.jsx)(Of,{size:18})},{title:"Verify Identity",description:"Submit authentication",icon:(0,Ve.jsx)(Lt,{size:18})},{title:"Earn Badge",description:"Setup completed!",icon:(0,Ve.jsx)(If,{size:18})}],H="');return(0,Ve.jsxs)(Ge,{children:[(0,Ve.jsxs)("button",{onClick:()=>t("/components"),className:"mb-8 flex items-center ".concat(B(10)," px-4 py-2 hover:bg-opacity-40 transition-all duration-300 text-gray-100"),children:[(0,Ve.jsx)(Be,{size:20,className:"mr-2"}),"Back to Components"]}),(0,Ve.jsxs)("div",{className:"mb-12",children:[(0,Ve.jsx)("h1",{className:"text-6xl font-bold mb-8 bg-clip-text text-transparent bg-gradient-to-r from-white to-pink-200",children:"Stepper Component"}),(0,Ve.jsx)("p",{className:"text-xl mb-8 text-gray-100",children:"A customizable, responsive multi-step progress indicator styled with premium glassmorphism."})]}),(0,Ve.jsxs)("div",{className:"".concat(B()," p-6 mb-14 relative"),children:[(0,Ve.jsx)("h2",{className:"text-2xl font-bold mb-4 text-gray-100",children:"Basic Usage"}),(0,Ve.jsxs)("pre",{className:"bg-gray-800 text-white p-4 rounded-lg overflow-x-auto relative",children:[(0,Ve.jsx)(U,{text:"import Stepper from './Stepper';\n\nconst steps = [\n { title: 'Step 1', description: 'Start' },\n { title: 'Step 2', description: 'Execute' },\n { title: 'Step 3', description: 'Verify' },\n { title: 'Step 4', description: 'Done' }\n];\n\n",codeKey:"basicUsage"}),"import Stepper from './Stepper';\n\nfunction App() {\n const steps = [\n { title: 'Step 1', description: 'Start' },\n { title: 'Step 2', description: 'Execute' },\n { title: 'Step 3', description: 'Verify' },\n { title: 'Step 4', description: 'Done' }\n ];\n\n return ;\n}"]}),(0,Ve.jsxs)("div",{className:"mt-4",children:[(0,Ve.jsx)("h3",{className:"text-xl font-bold mb-2",children:"Preview:"}),(0,Ve.jsx)(Ff,{steps:[{title:"Step 1",description:"Start"},{title:"Step 2",description:"Execute"},{title:"Step 3",description:"Verify"},{title:"Step 4",description:"Done"}],activeStep:1,completedColor:y,activeColor:N})]})]}),(0,Ve.jsxs)("div",{className:"".concat(B()," p-6 mb-14"),children:[(0,Ve.jsx)("h2",{className:"text-3xl font-bold mb-4 text-gray-100",children:"Props"}),(0,Ve.jsx)("div",{className:"overflow-x-auto",children:(0,Ve.jsxs)("table",{className:"w-full",children:[(0,Ve.jsx)("thead",{children:(0,Ve.jsxs)("tr",{className:"bg-white bg-opacity-20 text-left",children:[(0,Ve.jsx)("th",{className:"p-2",children:"Prop"}),(0,Ve.jsx)("th",{className:"p-2",children:"Type"}),(0,Ve.jsx)("th",{className:"p-2",children:"Default"}),(0,Ve.jsx)("th",{className:"p-2",children:"Description"})]})}),(0,Ve.jsxs)("tbody",{children:[(0,Ve.jsxs)("tr",{className:"border-b border-white/10",children:[(0,Ve.jsx)("td",{className:"p-2",children:"steps"}),(0,Ve.jsx)("td",{className:"p-2 font-mono text-pink-200",children:"Step[]"}),(0,Ve.jsx)("td",{className:"p-2 font-mono text-red-300",children:"Required"}),(0,Ve.jsx)("td",{className:"p-2",children:"Array of steps with titles, descriptions, and icons."})]}),(0,Ve.jsxs)("tr",{className:"bg-white bg-opacity-5 border-b border-white/10",children:[(0,Ve.jsx)("td",{className:"p-2",children:"activeStep"}),(0,Ve.jsx)("td",{className:"p-2 font-mono text-pink-200",children:"number"}),(0,Ve.jsx)("td",{className:"p-2 font-mono text-red-300",children:"Required"}),(0,Ve.jsx)("td",{className:"p-2",children:"Currently active step index (0-based)."})]}),(0,Ve.jsxs)("tr",{className:"border-b border-white/10",children:[(0,Ve.jsx)("td",{className:"p-2",children:"orientation"}),(0,Ve.jsx)("td",{className:"p-2 font-mono text-pink-200",children:"'horizontal' | 'vertical'"}),(0,Ve.jsx)("td",{className:"p-2 font-mono",children:"'horizontal'"}),(0,Ve.jsx)("td",{className:"p-2",children:"Layout direction of the stepper."})]}),(0,Ve.jsxs)("tr",{className:"bg-white bg-opacity-5 border-b border-white/10",children:[(0,Ve.jsx)("td",{className:"p-2",children:"glassOpacity"}),(0,Ve.jsx)("td",{className:"p-2 font-mono text-pink-200",children:"number"}),(0,Ve.jsx)("td",{className:"p-2 font-mono",children:"0.15"}),(0,Ve.jsx)("td",{className:"p-2",children:"Backdrop opacity multiplier (0.05 - 0.50)."})]}),(0,Ve.jsxs)("tr",{className:"border-b border-white/10",children:[(0,Ve.jsx)("td",{className:"p-2",children:"blurIntensity"}),(0,Ve.jsx)("td",{className:"p-2 font-mono text-pink-200",children:"'sm' | 'md' | 'lg' | 'xl'"}),(0,Ve.jsx)("td",{className:"p-2 font-mono",children:"'md'"}),(0,Ve.jsx)("td",{className:"p-2",children:"Backdrop blur depth setting."})]}),(0,Ve.jsxs)("tr",{className:"bg-white bg-opacity-5 border-b border-white/10",children:[(0,Ve.jsx)("td",{className:"p-2",children:"completedColor"}),(0,Ve.jsx)("td",{className:"p-2 font-mono text-pink-200",children:"string"}),(0,Ve.jsx)("td",{className:"p-2 font-mono",children:"'#10B981'"}),(0,Ve.jsx)("td",{className:"p-2",children:"Theme color for completed stages."})]}),(0,Ve.jsxs)("tr",{className:"border-b border-white/10",children:[(0,Ve.jsx)("td",{className:"p-2",children:"activeColor"}),(0,Ve.jsx)("td",{className:"p-2 font-mono text-pink-200",children:"string"}),(0,Ve.jsx)("td",{className:"p-2 font-mono",children:"'#a855f7'"}),(0,Ve.jsx)("td",{className:"p-2",children:"Theme color for active step."})]}),(0,Ve.jsxs)("tr",{className:"bg-white bg-opacity-5 border-b border-white/10",children:[(0,Ve.jsx)("td",{className:"p-2",children:"connectorStyle"}),(0,Ve.jsx)("td",{className:"p-2 font-mono text-pink-200",children:"'solid' | 'dashed' | 'gradient'"}),(0,Ve.jsx)("td",{className:"p-2 font-mono",children:"'solid'"}),(0,Ve.jsx)("td",{className:"p-2",children:"Connection line style between steps."})]}),(0,Ve.jsxs)("tr",{className:"border-b border-white/10",children:[(0,Ve.jsx)("td",{className:"p-2",children:"onStepClick"}),(0,Ve.jsx)("td",{className:"p-2 font-mono text-pink-200",children:"(index: number) => void"}),(0,Ve.jsx)("td",{className:"p-2 font-mono",children:"undefined"}),(0,Ve.jsx)("td",{className:"p-2",children:"Click handler callback for steps."})]})]})]})})]}),(0,Ve.jsxs)("div",{className:"".concat(B()," p-6 mb-14"),children:[(0,Ve.jsx)("h2",{className:"text-3xl font-bold mb-4 text-gray-100",children:"Custom Stepper"}),(0,Ve.jsx)("p",{className:"text-xl mb-4",children:"Customize your stepper's properties and inspect changes live."}),(0,Ve.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-8",children:[(0,Ve.jsxs)("div",{className:"space-y-6 lg:col-span-1",children:[(0,Ve.jsxs)("div",{children:[(0,Ve.jsxs)("label",{className:"block mb-2 font-semibold",children:["Active Step: ",i]}),(0,Ve.jsx)("div",{className:"flex gap-2",children:[0,1,2,3,4].map(e=>(0,Ve.jsx)("button",{onClick:()=>o(e),className:"flex-1 py-1 rounded text-xs font-bold transition-all ".concat(i===e?"bg-white bg-opacity-30 border border-white/30 text-white":"bg-white bg-opacity-10 hover:bg-opacity-25 text-gray-300"),children:4===e?"Done":e+1},e))})]}),(0,Ve.jsxs)("div",{children:[(0,Ve.jsx)("label",{className:"block mb-2 font-semibold",children:"Orientation"}),(0,Ve.jsx)("div",{className:"flex gap-2",children:["horizontal","vertical"].map(e=>(0,Ve.jsx)("button",{onClick:()=>u(e),className:"flex-1 py-1 capitalize rounded text-xs font-bold transition-all ".concat(d===e?"bg-white bg-opacity-30 border border-white/30 text-white":"bg-white bg-opacity-10 hover:bg-opacity-25 text-gray-300"),children:e},e))})]}),(0,Ve.jsxs)("div",{children:[(0,Ve.jsxs)("label",{className:"block mb-1 font-semibold",children:["Glass Opacity: ",m.toFixed(2)]}),(0,Ve.jsx)("input",{type:"range",min:"0.05",max:"0.50",step:"0.05",value:m,onChange:e=>f(parseFloat(e.target.value)),className:"w-full accent-white cursor-pointer"})]}),(0,Ve.jsxs)("div",{children:[(0,Ve.jsx)("label",{className:"block mb-2 font-semibold",children:"Blur level"}),(0,Ve.jsx)("div",{className:"flex gap-1.5",children:["sm","md","lg","xl"].map(e=>(0,Ve.jsx)("button",{onClick:()=>v(e),className:"flex-1 py-1 uppercase rounded text-xs font-bold transition-all ".concat(x===e?"bg-white bg-opacity-30 border border-white/30 text-white":"bg-white bg-opacity-10 hover:bg-opacity-25 text-gray-300"),children:e},e))})]}),(0,Ve.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,Ve.jsxs)("div",{children:[(0,Ve.jsx)("label",{className:"block text-xs font-semibold mb-1",children:"Completed"}),(0,Ve.jsxs)("div",{className:"flex items-center gap-2",children:[(0,Ve.jsx)("input",{type:"color",value:y,onChange:e=>w(e.target.value),className:"w-8 h-8 rounded border-none cursor-pointer bg-transparent"}),(0,Ve.jsx)("span",{className:"text-xs font-mono",children:y})]})]}),(0,Ve.jsxs)("div",{children:[(0,Ve.jsx)("label",{className:"block text-xs font-semibold mb-1",children:"Active"}),(0,Ve.jsxs)("div",{className:"flex items-center gap-2",children:[(0,Ve.jsx)("input",{type:"color",value:N,onChange:e=>k(e.target.value),className:"w-8 h-8 rounded border-none cursor-pointer bg-transparent"}),(0,Ve.jsx)("span",{className:"text-xs font-mono",children:N})]})]})]}),(0,Ve.jsxs)("div",{children:[(0,Ve.jsx)("label",{className:"block mb-2 font-semibold",children:"Connector Style"}),(0,Ve.jsx)("div",{className:"flex gap-1.5",children:["solid","dashed","gradient"].map(e=>(0,Ve.jsx)("button",{onClick:()=>S(e),className:"flex-1 py-1 capitalize rounded text-xs font-bold transition-all ".concat(C===e?"bg-white bg-opacity-30 border border-white/30 text-white":"bg-white bg-opacity-10 hover:bg-opacity-25 text-gray-300"),children:e},e))})]})]}),(0,Ve.jsxs)("div",{className:"lg:col-span-2 space-y-6 flex flex-col justify-between",children:[(0,Ve.jsxs)("div",{className:"".concat(B(5)," p-6 rounded-xl flex-grow flex flex-col justify-center"),children:[(0,Ve.jsx)("h3",{className:"text-sm font-semibold mb-4 text-gray-400",children:"Live Preview"}),(0,Ve.jsx)("div",{className:"py-6 px-4 flex items-center justify-center min-h-[160px]",children:(0,Ve.jsx)(Ff,{steps:[{title:"Step 1",description:"Initiation"},{title:"Step 2",description:"Execution"},{title:"Step 3",description:"Verification"},{title:"Step 4",description:"Delivery"}],activeStep:i,orientation:d,glassOpacity:m,blurIntensity:x,completedColor:y,activeColor:N,connectorStyle:C,onStepClick:e=>o(e)})})]}),(0,Ve.jsxs)("pre",{className:"bg-gray-800 text-white p-4 rounded-lg overflow-x-auto relative text-xs",children:[(0,Ve.jsx)(U,{text:H,codeKey:"sandbox"}),H]})]})]})]}),(0,Ve.jsxs)("div",{className:"".concat(B()," p-6 mb-14"),children:[(0,Ve.jsx)("h2",{className:"text-3xl font-bold mb-4 text-gray-100",children:"Checkout Wizard"}),(0,Ve.jsx)("p",{className:"text-xl mb-4",children:"Interactive workflow showing the Stepper integration with standard checkout processes."}),(0,Ve.jsxs)("div",{className:"space-y-8",children:[(0,Ve.jsx)("div",{className:"p-6 bg-white bg-opacity-5 rounded-lg border border-white/10",children:(0,Ve.jsx)(Ff,{steps:V,activeStep:E,orientation:"horizontal",completedColor:"#10B981",activeColor:"#db2777",connectorStyle:"gradient"})}),(0,Ve.jsxs)("div",{className:"bg-gray-800 text-white p-8 rounded-lg min-h-[280px] flex flex-col justify-between border border-white/10",children:[(0,Ve.jsxs)("div",{children:[0===E&&(0,Ve.jsxs)("div",{className:"space-y-4",children:[(0,Ve.jsx)("h3",{className:"text-xl font-bold",children:"Review Cart"}),(0,Ve.jsxs)("div",{className:"bg-white bg-opacity-5 border border-white/10 rounded-lg p-4 space-y-2",children:[(0,Ve.jsxs)("div",{className:"flex justify-between text-sm text-gray-300",children:[(0,Ve.jsx)("span",{children:"1x Glassmorphic Buttons Pack"}),(0,Ve.jsx)("span",{className:"font-semibold text-white",children:"$19.99"})]}),(0,Ve.jsxs)("div",{className:"flex justify-between text-sm text-gray-300",children:[(0,Ve.jsx)("span",{children:"1x Frosted Card Framework"}),(0,Ve.jsx)("span",{className:"font-semibold text-white",children:"$49.99"})]}),(0,Ve.jsxs)("div",{className:"border-t border-white/10 pt-2 flex justify-between font-bold text-white",children:[(0,Ve.jsx)("span",{children:"Total Amount"}),(0,Ve.jsx)("span",{children:"$69.98"})]})]})]}),1===E&&(0,Ve.jsxs)("div",{className:"space-y-4",children:[(0,Ve.jsx)("h3",{className:"text-xl font-bold",children:"Shipping Info"}),(0,Ve.jsxs)("div",{className:"space-y-3",children:[(0,Ve.jsxs)("div",{children:[(0,Ve.jsx)("label",{className:"block text-xs font-semibold mb-1 text-gray-300",children:"Full Name"}),(0,Ve.jsx)("input",{type:"text",placeholder:"John Doe",value:O,onChange:e=>I(e.target.value),className:"w-full bg-white bg-opacity-5 border border-white/15 rounded px-3 py-2 text-sm text-white focus:outline-none focus:border-white/40"})]}),(0,Ve.jsxs)("div",{children:[(0,Ve.jsx)("label",{className:"block text-xs font-semibold mb-1 text-gray-300",children:"Street Address"}),(0,Ve.jsx)("input",{type:"text",placeholder:"123 Glassy Blvd",value:F,onChange:e=>R(e.target.value),className:"w-full bg-white bg-opacity-5 border border-white/15 rounded px-3 py-2 text-sm text-white focus:outline-none focus:border-white/40"})]})]})]}),2===E&&(0,Ve.jsxs)("div",{className:"space-y-4",children:[(0,Ve.jsx)("h3",{className:"text-xl font-bold",children:"Payment Details"}),(0,Ve.jsxs)("div",{className:"space-y-3",children:[(0,Ve.jsxs)("div",{children:[(0,Ve.jsx)("label",{className:"block text-xs font-semibold mb-1 text-gray-300",children:"Card Number"}),(0,Ve.jsx)("input",{type:"text",placeholder:"0000 0000 0000 0000",value:L,onChange:e=>z(e.target.value),className:"w-full bg-white bg-opacity-5 border border-white/15 rounded px-3 py-2 text-sm text-white focus:outline-none focus:border-white/40"})]}),(0,Ve.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,Ve.jsxs)("div",{children:[(0,Ve.jsx)("label",{className:"block text-xs font-semibold mb-1 text-gray-300",children:"Expiration"}),(0,Ve.jsx)("input",{type:"text",placeholder:"MM/YY",className:"w-full bg-white bg-opacity-5 border border-white/15 rounded px-3 py-2 text-sm text-white focus:outline-none"})]}),(0,Ve.jsxs)("div",{children:[(0,Ve.jsx)("label",{className:"block text-xs font-semibold mb-1 text-gray-300",children:"CVC"}),(0,Ve.jsx)("input",{type:"text",placeholder:"123",className:"w-full bg-white bg-opacity-5 border border-white/15 rounded px-3 py-2 text-sm text-white focus:outline-none"})]})]})]})]}),3===E&&(0,Ve.jsxs)("div",{className:"text-center py-6 space-y-3",children:[(0,Ve.jsx)("div",{className:"inline-flex items-center justify-center w-12 h-12 rounded-full bg-green-500 bg-opacity-20 text-green-400 border border-green-500/30 mb-2",children:(0,Ve.jsx)(Pf,{size:28})}),(0,Ve.jsx)("h3",{className:"text-xl font-bold text-white",children:"Order Confirmed!"}),(0,Ve.jsxs)("p",{className:"text-gray-300 max-w-md mx-auto text-sm",children:["Thank you,"," ",(0,Ve.jsx)("strong",{className:"text-white",children:O||"valued customer"}),"! Your order will be dispatched to"," ",(0,Ve.jsx)("strong",{className:"text-white",children:F||"your address"})," ","shortly."]})]})]}),(0,Ve.jsxs)("div",{className:"flex justify-between items-center mt-8 border-t border-white/10 pt-4",children:[(0,Ve.jsx)("button",{disabled:0===E,onClick:()=>P(e=>e-1),className:"px-4 py-1.5 rounded-lg text-sm font-semibold transition-all ".concat(0===E?"opacity-30 cursor-not-allowed text-gray-500":"bg-white bg-opacity-10 hover:bg-opacity-25 text-white"),children:"Back"}),E<3?(0,Ve.jsx)("button",{onClick:()=>P(e=>e+1),className:"px-4 py-1.5 bg-white bg-opacity-10 hover:bg-opacity-25 border border-white/20 text-white font-semibold text-sm rounded-lg shadow-sm transition-all animate-pulse",children:2===E?"Place Order":"Next Step"}):(0,Ve.jsx)("button",{onClick:()=>{P(0),I(""),R(""),z("")},className:"px-4 py-1.5 bg-green-600 bg-opacity-30 hover:bg-opacity-50 border border-green-500/30 text-white font-semibold text-sm rounded-lg shadow-sm transition-all",children:"Restart Order"})]})]})]})]}),(0,Ve.jsxs)("div",{className:"".concat(B()," p-6 mb-14"),children:[(0,Ve.jsx)("h2",{className:"text-3xl font-bold mb-4 text-gray-100",children:"Vertical Orientation"}),(0,Ve.jsx)("p",{className:"text-xl mb-4",children:"A layout timeline detailing onboard settings."}),(0,Ve.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-8",children:[(0,Ve.jsx)("div",{className:"md:col-span-1 bg-white bg-opacity-5 p-6 rounded-lg border border-white/10 flex flex-col justify-center",children:(0,Ve.jsx)(Ff,{steps:W,activeStep:2,orientation:"vertical",completedColor:"#10B981",activeColor:"#a855f7",connectorStyle:"dashed"})}),(0,Ve.jsxs)("div",{className:"md:col-span-2 bg-gray-800 p-6 rounded-lg border border-white/10 flex flex-col justify-center",children:[(0,Ve.jsx)("h4",{className:"text-base font-bold text-white mb-2 uppercase",children:"Onboarding Checklist"}),(0,Ve.jsxs)("p",{className:"text-sm text-gray-300 mb-4 leading-relaxed",children:["In this vertical layout, the user has completed"," ",(0,Ve.jsx)("strong",{children:"Create Profile"})," and ",(0,Ve.jsx)("strong",{children:"Preferences"}),". The current active step is ",(0,Ve.jsx)("strong",{children:"Verify Identity"}),", prompting them to upload their ID."]}),(0,Ve.jsxs)("div",{className:"space-y-2 text-sm text-gray-300 font-medium",children:[(0,Ve.jsxs)("div",{className:"flex items-center gap-3 text-green-400",children:[(0,Ve.jsx)(Le,{size:14,className:"stroke-[3]"}),(0,Ve.jsx)("span",{children:"Profile Details Setup (Complete)"})]}),(0,Ve.jsxs)("div",{className:"flex items-center gap-3 text-green-400",children:[(0,Ve.jsx)(Le,{size:14,className:"stroke-[3]"}),(0,Ve.jsx)("span",{children:"Notifications & System Configured (Complete)"})]}),(0,Ve.jsxs)("div",{className:"flex items-center gap-3 text-purple-400 font-bold animate-pulse",children:[(0,Ve.jsx)("span",{className:"w-2 h-2 rounded-full bg-purple-400"}),(0,Ve.jsx)("span",{children:"Identity verification image upload pending..."})]})]})]})]})]})]})},Mf={yellow:{bg:"#fefcd0",textColor:"black",borderColor:"black",shadowColor:"#c38105"},brown:{bg:"#d2b48c",textColor:"white",borderColor:"#8b4513",shadowColor:"#654321"},white:{bg:"#ffffff",textColor:"black",borderColor:"black",shadowColor:"#cccccc"},black:{bg:"#333333",textColor:"white",borderColor:"white",shadowColor:"#000000"},custom:{bg:"#fefcd0",textColor:"black",borderColor:"black",shadowColor:"#c38105"}},Lf=()=>{const t=he(),n=p((0,e.useState)({}),2),r=n[0],a=n[1],s=p((0,e.useState)("yellow"),2),i=(s[0],s[1],p((0,e.useState)(Mf.custom),2)),o=(i[0],i[1],function(){return"backdrop-filter backdrop-blur-lg bg-white bg-opacity-".concat(arguments.length>0&&void 0!==arguments[0]?arguments[0]:20," \n border border-white border-opacity-20 rounded-lg shadow-lg transition-all duration-300")}),c=e=>{let t=e.text,n=e.codeKey;return(0,Ve.jsx)("button",{onClick:()=>((e,t)=>{navigator.clipboard.writeText(e).then(()=>{a(e=>l(l({},e),{},{[t]:!0})),setTimeout(()=>a(e=>l(l({},e),{},{[t]:!1})),2e3)})})(t,n),className:"absolute top-2 right-2 p-1 bg-white bg-opacity-30 backdrop-filter backdrop-blur-md border border-white border-opacity-20 rounded-lg shadow-lg hover:bg-opacity-40 transition-all duration-300",title:"Copy to clipboard",children:r[n]?(0,Ve.jsx)(Le,{size:16,className:"text-green-600"}):(0,Ve.jsx)(ze,{size:16,className:"text-gray-800"})})},d=()=>(0,Ve.jsxs)("div",{className:"relative p-8 rounded-xl overflow-hidden",style:{background:"linear-gradient(to right bottom, #ffffff, #cccccc)"},children:[(0,Ve.jsxs)("div",{style:{background:"rgba(255, 255, 255, 0.4)",backdropFilter:"blur(10px)",WebkitBackdropFilter:"blur(10px)",boxShadow:"0 8px 32px 0 rgba(31, 38, 135, 0.37)",border:"1px solid rgba(255, 255, 255, 0.18)",color:"black"},className:"p-6 rounded-lg relative z-10",children:[(0,Ve.jsx)("h2",{className:"text-2xl font-bold mb-4",children:"Sign Up"}),(0,Ve.jsxs)("form",{children:[(0,Ve.jsxs)("div",{className:"mb-4",children:[(0,Ve.jsx)("label",{htmlFor:"email",className:"block text-sm font-medium mb-2",children:"Email:"}),(0,Ve.jsx)("input",{type:"email",id:"email",className:"w-full px-3 py-2 border rounded-md bg-white bg-opacity-40 backdrop-filter backdrop-blur-sm",placeholder:"Enter your email"})]}),(0,Ve.jsxs)("div",{className:"mb-6",children:[(0,Ve.jsx)("label",{htmlFor:"password",className:"block text-sm font-medium mb-2",children:"Password:"}),(0,Ve.jsx)("input",{type:"password",id:"password",className:"w-full px-3 py-2 border rounded-md bg-white bg-opacity-40 backdrop-filter backdrop-blur-sm",placeholder:"Enter your password"})]}),(0,Ve.jsxs)("div",{className:"mb-6",children:[(0,Ve.jsx)("label",{htmlFor:"password",className:"block text-sm font-medium mb-2",children:"Confirm Password:"}),(0,Ve.jsx)("input",{type:"password",id:"password",className:"w-full px-3 py-2 border rounded-md bg-white bg-opacity-40 backdrop-filter backdrop-blur-sm",placeholder:"Enter your password"})]}),(0,Ve.jsx)("button",{type:"submit",className:"w-full bg-blue-500 text-white font-semibold py-2 px-4 rounded-md hover:bg-blue-600 transition duration-200",children:"Sign up"})]})]}),(0,Ve.jsx)("div",{className:"absolute inset-0 bg-white opacity-30 backdrop-filter backdrop-blur-sm z-0"})]}),u=()=>(0,Ve.jsxs)("div",{className:"relative p-8 rounded-xl overflow-hidden",style:{background:"linear-gradient(to right bottom, #ffffff, #cccccc)"},children:[(0,Ve.jsxs)("div",{style:{background:"rgba(255, 255, 255, 0.4)",backdropFilter:"blur(10px)",WebkitBackdropFilter:"blur(10px)",boxShadow:"0 8px 32px 0 rgba(31, 38, 135, 0.37)",border:"1px solid rgba(255, 255, 255, 0.18)",color:"black"},className:"p-6 rounded-lg relative z-10",children:[(0,Ve.jsx)("h2",{className:"text-2xl font-bold mb-4",children:"Login"}),(0,Ve.jsxs)("form",{children:[(0,Ve.jsxs)("div",{className:"mb-4",children:[(0,Ve.jsx)("label",{htmlFor:"email",className:"block text-sm font-medium mb-2",children:"Email:"}),(0,Ve.jsx)("input",{type:"email",id:"email",className:"w-full px-3 py-2 border rounded-md bg-white bg-opacity-40 backdrop-filter backdrop-blur-sm",placeholder:"Enter your email"})]}),(0,Ve.jsxs)("div",{className:"mb-6",children:[(0,Ve.jsx)("label",{htmlFor:"password",className:"block text-sm font-medium mb-2",children:"Password:"}),(0,Ve.jsx)("input",{type:"password",id:"password",className:"w-full px-3 py-2 border rounded-md bg-white bg-opacity-40 backdrop-filter backdrop-blur-sm",placeholder:"Enter your password"})]}),(0,Ve.jsx)("button",{type:"submit",className:"w-full bg-blue-500 text-white font-semibold py-2 px-4 rounded-md hover:bg-blue-600 transition duration-200",children:"Login"})]})]}),(0,Ve.jsx)("div",{className:"absolute inset-0 bg-white opacity-30 backdrop-filter backdrop-blur-sm z-0"})]});return(0,Ve.jsxs)(Ge,{children:[(0,Ve.jsxs)("button",{onClick:()=>t(-1),className:"mb-8 flex items-center ".concat(o(10)," px-4 py-2 hover:bg-opacity-40 transition-all duration-300 text-gray-100"),children:[(0,Ve.jsx)(Be,{size:20,className:"mr-2"}),"Back to Components"]}),(0,Ve.jsx)("h1",{className:"text-6xl font-bold mb-8 text-white",children:"Authentication Card Component"}),(0,Ve.jsx)("p",{className:"text-xl mb-8 text-gray-100",children:"A customizable, glassmorphism-styled Authentication component."}),(0,Ve.jsxs)("section",{className:"".concat(o()," p-6 mb-14 relative"),children:[(0,Ve.jsx)("h2",{className:"text-3xl font-bold mb-4 text-gray-100",children:"Props"}),(0,Ve.jsx)("div",{className:"overflow-x-auto",children:(0,Ve.jsxs)("table",{className:"w-full",children:[(0,Ve.jsx)("thead",{children:(0,Ve.jsxs)("tr",{className:"bg-white bg-opacity-20",children:[(0,Ve.jsx)("th",{className:"text-left p-2",children:"Prop"}),(0,Ve.jsx)("th",{className:"text-left p-2",children:"Type"}),(0,Ve.jsx)("th",{className:"text-left p-2",children:"Default"}),(0,Ve.jsx)("th",{className:"text-left p-2",children:"Description"})]})}),(0,Ve.jsxs)("tbody",{children:[(0,Ve.jsxs)("tr",{children:[(0,Ve.jsx)("td",{className:"p-2",children:"className"}),(0,Ve.jsx)("td",{className:"p-2",children:"string"}),(0,Ve.jsx)("td",{className:"p-2",children:"''"}),(0,Ve.jsx)("td",{className:"p-2",children:"Additional CSS classes"})]}),(0,Ve.jsxs)("tr",{className:"bg-white bg-opacity-10",children:[(0,Ve.jsx)("td",{className:"p-2",children:"style"}),(0,Ve.jsx)("td",{className:"p-2",children:"object"}),(0,Ve.jsx)("td",{className:"p-2",children:"{}"}),(0,Ve.jsx)("td",{className:"p-2",children:"Inline styles for the card"})]}),(0,Ve.jsxs)("tr",{children:[(0,Ve.jsx)("td",{className:"p-2",children:"children"}),(0,Ve.jsx)("td",{className:"p-2",children:"ReactNode"}),(0,Ve.jsx)("td",{className:"p-2",children:"-"}),(0,Ve.jsx)("td",{className:"p-2",children:"Card content"})]})]})]})})]}),(0,Ve.jsxs)("section",{className:"".concat(o()," p-6 mb-14 relative"),children:[(0,Ve.jsx)("h2",{className:"text-3xl font-bold mb-6 text-white",children:"Login Card Example"}),(0,Ve.jsxs)("div",{className:"flex flex-col lg:flex-row gap-8",children:[(0,Ve.jsx)(u,{}),(0,Ve.jsxs)("div",{className:"lg:w-2/3",children:[(0,Ve.jsx)("h3",{className:"text-xl font-semibold mb-4 text-white",children:"Code"}),(0,Ve.jsxs)("div",{className:"relative",children:[(0,Ve.jsx)("pre",{className:"bg-gray-800 text-white p-4 rounded-lg overflow-x-auto text-sm max-h-[400px] whitespace-pre-wrap break-words",children:(0,Ve.jsx)("code",{children:' const LoginCardExample: React.FC = () => (\n \n \n

Login

\n
\n
\n \n \n
\n
\n \n \n
\n \n Login\n \n \n \n
\n \n );'})}),(0,Ve.jsx)(c,{text:'const LoginCardExample: React.FC = () => (\n \n \n

Login

\n
\n
\n \n \n
\n
\n \n \n
\n \n Sign up\n \n \n \n
\n \n);',codeKey:"LoginCardExample"})]})]})]})]}),(0,Ve.jsxs)("section",{className:"".concat(o()," p-6 mb-14 relative"),children:[(0,Ve.jsx)("h2",{className:"text-2xl font-bold mb-6 text-white",children:"Sign Up Card Example"}),(0,Ve.jsxs)("div",{className:"flex flex-col lg:flex-row gap-8",children:[(0,Ve.jsx)(d,{}),(0,Ve.jsxs)("div",{className:"lg:w-2/3",children:[(0,Ve.jsx)("h3",{className:"text-xl font-semibold mb-4 text-white",children:"Code"}),(0,Ve.jsxs)("div",{className:"relative",children:[(0,Ve.jsx)("pre",{className:"bg-gray-800 text-white p-4 rounded-lg overflow-x-auto text-sm max-h-[400px] whitespace-pre-wrap break-words",children:(0,Ve.jsx)("code",{children:' const SignUpCardExample: React.FC = () => (\n \n \n

Sign Up

\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n \n Sign up\n \n \n \n
\n \n );'})}),(0,Ve.jsx)(c,{text:'const SignUpCardExample: React.FC = () => (\n \n \n

Sign Up

\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n \n Sign up\n \n \n \n
\n \n);',codeKey:"SignUpCardExample"})]})]})]})]})]})},zf=e=>{let t=e.toaster;return(0,Ve.jsx)(Ve.Fragment,{children:(0,Ve.jsx)("button",{className:"".concat("backdrop-filter backdrop-blur-md bg-white/10 border border-white/20 rounded-2xl shadow-lg transition-all duration-300"," px-4 py-2 hover:bg-white/20"),onClick:()=>{const e=[{id:Date.now(),title:"Update Available",message:"A new version of the application is ready. Please update to enjoy the latest features."},{id:Date.now()+1,title:"New Message",message:"You\u2019ve received a new message from John Doe. Check your inbox to read it."},{id:Date.now()+2,title:"Connection Lost",message:"Your internet connection was lost. Trying to reconnect..."},{id:Date.now()+3,title:"Success",message:"Your profile has been updated successfully."},{id:Date.now()+4,title:"Error",message:"An error occurred while processing your request. Please try again."},{id:Date.now()+5,title:"Low Battery",message:"Your battery is running low (10%). Please plug in your device."},{id:Date.now()+6,title:"Reminder",message:"Don\u2019t forget your meeting with the marketing team at 2:00 PM."},{id:Date.now()+7,title:"File Uploaded",message:"Your document has been uploaded successfully."},{id:Date.now()+8,title:"Warning",message:"This action is irreversible. Proceed with caution."},{id:Date.now()+9,title:"Friend Request",message:"Jane Smith has sent you a friend request. Accept or decline."}],n=e[Math.floor(Math.random()*e.length)];t(e=>[...e,n]),setTimeout(()=>{t(e=>e.filter(e=>e!==n))},1e4)},children:"Show Toast"})})},Bf=t=>{let n=t.id,r=void 0===n?Date.now():n,a=t.title,s=t.message,i=t.autoDismiss,o=void 0===i?8e3:i,l=t.toaster;const c=p((0,e.useState)(!1),2),d=c[0],u=c[1];(0,e.useEffect)(()=>{const e=setTimeout(()=>{u(!0)},o);return()=>clearTimeout(e)},[]);return(0,Ve.jsxs)("div",{className:"".concat("backdrop-filter backdrop-blur-md bg-white/10 border border-white/20 rounded-2xl shadow-lg transition-all duration-300"," ").concat(d?"hide-toast":""," toast pointer-events-auto p-6 flex max-w-[30rem] gap-6 cursor-pointer group transition-all duration-300 hover:bg-white/20 hover:scale-105 hover:shadow-xl"),children:[(0,Ve.jsxs)("div",{children:[(0,Ve.jsx)("h1",{children:a}),(0,Ve.jsx)("p",{className:"opacity-70",children:s})]}),(0,Ve.jsx)("button",{onClick:e=>{var t;null===(t=e.currentTarget.parentElement)||void 0===t||t.classList.add("hide-toast"),setTimeout(()=>{(e=>{l(t=>t.filter(t=>t.id!==e))})(r)},400)},className:"".concat("backdrop-filter backdrop-blur-md bg-white/10 border border-white/20 rounded-2xl shadow-lg transition-all duration-300"," w-10 h-10"),style:{flex:"1 0 auto"},children:"\u274c"})]})},Uf=t=>{let n=t.text,r=t.codeKey;const a=p((0,e.useState)({}),2),s=a[0],i=a[1];return(0,Ve.jsx)("button",{onClick:()=>((e,t,n)=>{navigator.clipboard.writeText(e).then(()=>{n(e=>l(l({},e),{},{[t]:!0})),setTimeout(()=>n(e=>l(l({},e),{},{[t]:!1})),2e3)})})(n,r,i),className:"absolute top-2 right-2 ".concat("backdrop-filter backdrop-blur-xl bg-white/30 border border-white/20 rounded-xl shadow-lg transition-all duration-300 max-sm:px-0"," p-2 hover:bg-white/40 transition-all duration-300 z-10"),"aria-label":"Copy to clipboard",children:s[r]?(0,Ve.jsx)(Le,{size:16,className:"text-green-600"}):(0,Ve.jsx)(ze,{size:16,className:"text-gray-100"})})},Vf=()=>{const t=he(),n=p((0,e.useState)([]),2),r=n[0],a=n[1],s="\n const getGlassyClasses = () => 'backdrop-filter backdrop-blur-xl bg-white/30 border border-white/20 rounded-xl shadow-lg transition-all duration-300';\n\n function Example () {\n const [toasts, setToasts] = useState<{title: string, message:string, id: number}[]>([]);\n return \n
\n {toasts.map((toast)=>{\n return ()\n })}\n
\n ",i=' \ninterface GeneratorProps {\n toaster: React.Dispatch>,\n}\n\nconst ToastGenerator: React.FC = ({toaster}) => {\n const addItem = () => {\n // Change Title and Message according to your needs\n const newToast = { id: Date.now(), title: "Update Available", message: "A new version of the application is ready. Please update to enjoy the latest features." }\n\n // Add new item to the array\n toaster(prevItems => [...prevItems, newToast]);\n\n // Remove the item after 3 seconds\n setTimeout(() => {\n toaster(prevItems => prevItems.filter(item => item !== newToast));\n }, 10000); // 3000ms = 3 seconds\n };\n\n \n \n return (\n <>\n \n )\n}\n ',o='\n interface ToastProps {\n id: number,\n title: string,\n message: string,\n autoDismiss?: number,\n toaster: React.Dispatch>,\n }\n \nconst Toast: React.FC = ({ id, title, message, autoDismiss = 9000, toaster }) => {\n\n const [hide, setHide] = useState(false);\n\n useEffect(()=>{\n const timer = setTimeout(() => {\n setHide(true); \n }, autoDismiss);\n return () => clearTimeout(timer);\n },[])\n\n\n const removeItem = (id: number) => {\n toaster(prevItems => prevItems.filter(item => item.id !== id));\n };\n\n return (\n \n
\n

{title}

\n

{message}

\n
\n \n \n )\n}',l=" \n.toast{\n animation: toast-start cubic-bezier(.18,.89,.32,1.28) 800ms forwards;\n opacity: 1;\n overflow: hidden;\n max-height: 400px;\n opacity: 1;\n transform: translateX(0);\n}\n.hide-toast{\n animation: toast-end cubic-bezier(.18,.89,.32,1.28) 600ms forwards;\n}\n@keyframes toast-start {\n from{\n opacity: 0;\n transform: translateX(100px);\n max-height: 0;\n }\n to{\n opacity: 1;\n transform: translateX(0);\n max-height: 350px;\n }\n}\n@keyframes toast-end {\n 50%{\n opacity: 0;\n transform: translateX(100px);\n }\n 51%{\n opacity: 0;\n transform: translateX(100px);\n }\n 100%{\n opacity: 0;\n transform: translateX(100px);\n max-height: 0;\n padding: 0;\n }\n}\n";return(0,Ve.jsxs)(Ge,{children:[(0,Ve.jsx)("div",{className:"fixed w-screen h-screen flex flex-col gap-4 justify-end items-end z-[51] pointer-events-none bottom-0 right-0 p-4",children:r.map(e=>(0,Ve.jsx)(Bf,{title:e.title,message:e.message,toaster:a,id:e.id},e.id))}),(0,Ve.jsxs)("div",{className:"relative z-10",children:[(0,Ve.jsxs)("button",{onClick:()=>t(-1),className:"mb-8 flex items-center ".concat("backdrop-filter backdrop-blur-xl bg-white/30 border border-white/20 rounded-xl shadow-lg transition-all duration-300 max-sm:px-0"," px-4 py-2 hover:bg-white/40 transition-all duration-300 text-white"),children:[(0,Ve.jsx)(Be,{size:20,className:"mr-2"}),"Back to Components"]}),(0,Ve.jsx)("h1",{className:"text-6xl font-bold mb-8 text-white",children:"Glassmorphic Toast"}),(0,Ve.jsx)("p",{className:"text-xl mb-8 text-gray-100",children:"A glassmorphism-styled Toast component."}),(0,Ve.jsxs)("div",{className:"".concat("backdrop-filter backdrop-blur-xl bg-white/30 border border-white/20 rounded-xl shadow-lg transition-all duration-300 max-sm:px-0"," p-8 mb-8 relative"),children:[(0,Ve.jsx)(zf,{toaster:a}),(0,Ve.jsx)("h2",{className:"text-3xl font-bold mt-6 mb-6 text-gray-100",children:"Main App"}),(0,Ve.jsxs)("div",{className:"relative mb-4",children:[(0,Ve.jsx)("pre",{className:"bg-gray-800 text-white p-6 rounded-lg overflow-x-auto whitespace-pre-wrap max-sm:p-2 max-sm:text-[0.55rem]",children:s}),(0,Ve.jsx)(Uf,{text:s,codeKey:"basicUsage"})]}),(0,Ve.jsx)("h2",{className:"text-3xl font-bold mb-6 text-gray-100",children:"Toast Generator Component"}),(0,Ve.jsxs)("div",{className:"relative mb-4",children:[(0,Ve.jsx)("pre",{className:"bg-gray-800 text-white p-6 rounded-lg overflow-x-auto whitespace-pre-wrap max-sm:p-2 max-sm:text-[0.55rem]",children:i}),(0,Ve.jsx)(Uf,{text:i,codeKey:"basicUsage"})]}),(0,Ve.jsx)("h2",{className:"text-3xl font-bold mb-6 text-gray-100",children:"Toast Component"}),(0,Ve.jsxs)("div",{className:"relative mb-4",children:[(0,Ve.jsx)("pre",{className:"bg-gray-800 text-white p-6 rounded-lg overflow-x-auto whitespace-pre-wrap max-sm:p-2 max-sm:text-[0.55rem]",children:o}),(0,Ve.jsx)(Uf,{text:o,codeKey:"basicUsage"})]}),(0,Ve.jsx)("h2",{className:"text-3xl font-bold mb-6 text-gray-100",children:"Aniamtion CSS"}),(0,Ve.jsxs)("div",{className:"relative mb-4",children:[(0,Ve.jsx)("pre",{className:"bg-gray-800 text-white p-6 rounded-lg overflow-x-auto whitespace-pre-wrap max-sm:p-2 max-sm:text-[0.55rem]",children:l}),(0,Ve.jsx)(Uf,{text:l,codeKey:"basicUsage"})]})]}),(0,Ve.jsxs)("div",{className:"".concat("backdrop-filter backdrop-blur-xl bg-white/30 border border-white/20 rounded-xl shadow-lg transition-all duration-300 max-sm:px-0"," p-8 mb-8"),children:[(0,Ve.jsx)("h2",{className:"text-3xl font-bold mb-6 text-gray-100",children:"Props"}),(0,Ve.jsx)("div",{className:"overflow-x-auto",children:(0,Ve.jsxs)("table",{className:"w-full",children:[(0,Ve.jsx)("thead",{children:(0,Ve.jsxs)("tr",{className:"bg-white bg-opacity-20",children:[(0,Ve.jsx)("th",{className:"text-left p-2 text-gray-100",children:"Prop"}),(0,Ve.jsx)("th",{className:"text-left p-2 text-gray-100",children:"Type"}),(0,Ve.jsx)("th",{className:"text-left p-2 text-gray-100",children:"Default"}),(0,Ve.jsx)("th",{className:"text-left p-2 text-gray-100",children:"Description"})]})}),(0,Ve.jsxs)("tbody",{children:[(0,Ve.jsxs)("tr",{children:[(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"title"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"string"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"-"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"The title of the toast"})]}),(0,Ve.jsxs)("tr",{className:"bg-white bg-opacity-10",children:[(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"message"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"string"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"-"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"the message of the toast"})]}),(0,Ve.jsxs)("tr",{children:[(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"autoDismiss"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"number"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"9000"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"the time in milliseconds after which the toast gets removed"})]}),(0,Ve.jsxs)("tr",{className:"bg-white bg-opacity-10",children:[(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"id"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"number"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"Date.now()"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"the id of each toast component"})]}),(0,Ve.jsxs)("tr",{children:[(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"toaster"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"React.SetStateAction"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"-"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"The main toast state setter"})]})]})]})})]})]})]})},Wf=t=>{let n=t.title,r=t.content;const a=p((0,e.useState)(!1),2),s=a[0],i=a[1];return(0,Ve.jsxs)("div",{className:"".concat("backdrop-filter backdrop-blur-md bg-white/10 border border-white/20 rounded-2xl shadow-lg"," mb-4 overflow-hidden"),children:[(0,Ve.jsx)("button",{onClick:()=>{i(!s)},className:"w-full text-left px-4 py-3 focus:outline-none transition-all duration-300 ease-in-out hover:bg-white/10 hover:scale-[1.01]",children:(0,Ve.jsx)("h3",{className:"text-lg font-semibold",children:n})}),(0,Ve.jsx)("div",{className:"overflow-hidden transition-[max-height,opacity] duration-300 ease-in-out ".concat(s?"max-h-40 opacity-100":"max-h-0 opacity-0"),children:(0,Ve.jsx)("div",{className:"px-4 pb-4",children:(0,Ve.jsx)("p",{children:r})})})]})},Hf=t=>{let n=t.items;const r=p((0,e.useState)(null),2),a=r[0],s=r[1];return(0,Ve.jsx)("div",{className:"space-y-4",children:n.map((e,t)=>(0,Ve.jsxs)("div",{className:"rounded-2xl border border-gray-600 overflow-hidden",children:[(0,Ve.jsxs)("button",{className:"w-full text-left p-4 transition-all duration-300 ".concat(a===t?"bg-white/30 text-white":"bg-gray-700 text-gray-300 hover:bg-gray-600"," font-semibold text-lg flex justify-between items-center"),onClick:()=>(e=>{s(a===e?null:e)})(t),children:[e.title,(0,Ve.jsx)("span",{className:"transform transition-transform duration-300 ease-in-out ".concat(a===t?"rotate-180":""),children:"\u2304"})]}),(0,Ve.jsx)("div",{className:"overflow-hidden transition-[max-height,opacity] duration-300 ease-in-out bg-gray-800 text-gray-200 ".concat(a===t?"max-h-40 opacity-100":"max-h-0 opacity-0"),children:(0,Ve.jsx)("div",{className:"p-4",children:(0,Ve.jsx)("p",{children:e.content})})})]},t))})},Gf=()=>{const t=he(),n=p((0,e.useState)({}),2),r=n[0],a=n[1],s=function(){return"backdrop-filter backdrop-blur-lg bg-white bg-opacity-".concat(arguments.length>0&&void 0!==arguments[0]?arguments[0]:20," \n border border-white border-opacity-20 rounded-lg shadow-lg transition-all duration-300")},i=e=>{let t=e.text,n=e.codeKey;return(0,Ve.jsx)("button",{onClick:()=>((e,t)=>{navigator.clipboard.writeText(e).then(()=>{a(e=>l(l({},e),{},{[t]:!0})),setTimeout(()=>a(e=>l(l({},e),{},{[t]:!1})),2e3)})})(t,n),className:"absolute top-2 right-2 ".concat(s()," p-2 hover:bg-white/40 transition-all duration-300 z-10"),title:"Copy to clipboard",children:r[n]?(0,Ve.jsx)(Le,{size:16,className:"text-green-600"}):(0,Ve.jsx)(ze,{size:16,className:"text-white"})})},o="const Accordion = ({ title, content }) => (\n
\n

{title}

\n

{content}

\n
\n);",c="\n",d='const CollapsibleAccordion = ({ items }) => {\n const [activeIndex, setActiveIndex] = useState(null);\n\n const toggleAccordion = (index) => {\n setActiveIndex(activeIndex === index ? null : index);\n };\n\n return (\n
\n {items.map((item, index) => (\n
\n \n {activeIndex === index &&
{item.content}
}\n
\n ))}\n
\n );\n};';return(0,Ve.jsxs)(Ge,{children:[(0,Ve.jsxs)("button",{onClick:()=>t(-1),className:"mb-8 flex items-center ".concat(s(10)," px-4 py-2 hover:bg-white/40 transition-all duration-300 text-white"),children:[(0,Ve.jsx)(Be,{size:20,className:"mr-2"}),"Back to Components"]}),(0,Ve.jsxs)("div",{className:"relative z-10",children:[(0,Ve.jsx)("h1",{className:"text-6xl font-bold mb-8 text-white",children:"Accordion Details"}),(0,Ve.jsx)("p",{className:"text-xl mb-8 text-white",children:"A customizable accordion component."}),(0,Ve.jsxs)("div",{className:"".concat(s()," p-6 mb-14 relative"),children:[(0,Ve.jsx)("h2",{className:"text-3xl font-bold mb-6 text-white",children:"Basic Usage"}),(0,Ve.jsxs)("div",{className:"relative",children:[(0,Ve.jsx)("pre",{className:"bg-gray-800 text-white p-6 rounded-lg overflow-x-auto whitespace-pre-wrap max-sm:text-[0.55rem]",children:o}),(0,Ve.jsx)(i,{text:o,codeKey:"basicUsage"})]})]}),(0,Ve.jsxs)("div",{className:"".concat(s()," p-6 mb-14"),children:[(0,Ve.jsx)("h2",{className:"text-3xl font-bold mb-6 text-white",children:"Accordion Example"}),(0,Ve.jsx)("p",{className:"mb-6 text-lg text-white",children:"An example implementation of an accordion."}),(0,Ve.jsxs)("div",{className:"space-y-4",children:[(0,Ve.jsx)(Wf,{title:"Accordion Title 1",content:"This is the content of the first accordion."}),(0,Ve.jsx)(Wf,{title:"Accordion Title 2",content:"This is the content of the second accordion."}),(0,Ve.jsx)(Wf,{title:"Accordion Title 3",content:"This is the content of the third accordion."})]}),(0,Ve.jsxs)("div",{className:"relative mt-8",children:[(0,Ve.jsx)("pre",{className:"bg-gray-800 text-white p-6 rounded-lg overflow-x-auto whitespace-pre-wrap max-sm:text-[0.55rem]",children:c}),(0,Ve.jsx)(i,{text:c,codeKey:"accordionUsage"})]})]}),(0,Ve.jsxs)("div",{className:"".concat(s()," p-6 mb-14"),children:[(0,Ve.jsx)("h2",{className:"text-3xl font-bold mb-6 text-white",children:"Collapsible Accordion"}),(0,Ve.jsx)("p",{className:"mb-6 text-lg text-white",children:"An accordion where only one item remains open at a time."}),(0,Ve.jsx)(Hf,{items:[{title:"Collapsible Title 1",content:"This is the content of the first collapsible accordion."},{title:"Collapsible Title 2",content:"This is the content of the second collapsible accordion."},{title:"Collapsible Title 3",content:"This is the content of the third collapsible accordion."}]}),(0,Ve.jsxs)("div",{className:"relative mt-8",children:[(0,Ve.jsx)("pre",{className:"bg-gray-800 text-white p-6 rounded-lg overflow-x-auto whitespace-pre-wrap max-sm:text-[0.55rem]",children:d}),(0,Ve.jsx)(i,{text:d,codeKey:"collapsibleAccordion"})]})]}),(0,Ve.jsxs)("section",{className:"".concat(s()," p-6 mb-14 text-white relative z-10"),children:[(0,Ve.jsx)("h2",{className:"text-3xl font-bold mb-4 text-gray-100",children:"Props"}),(0,Ve.jsx)("div",{className:"overflow-x-auto",children:(0,Ve.jsxs)("table",{className:"w-full",children:[(0,Ve.jsx)("thead",{children:(0,Ve.jsxs)("tr",{className:"bg-white bg-opacity-20",children:[(0,Ve.jsx)("th",{className:"text-left p-2 text-gray-100",children:"Prop"}),(0,Ve.jsx)("th",{className:"text-left p-2 text-gray-100",children:"Type"}),(0,Ve.jsx)("th",{className:"text-left p-2 text-gray-100",children:"Default"}),(0,Ve.jsx)("th",{className:"text-left p-2 text-gray-100",children:"Description"})]})}),(0,Ve.jsxs)("tbody",{children:[(0,Ve.jsxs)("tr",{children:[(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"title"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"string"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"''"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"Title of the accordian"})]}),(0,Ve.jsxs)("tr",{className:"bg-white bg-opacity-10",children:[(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"content"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"string"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"''"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"Content to be shown in the accordian"})]})]})]})})]})]})]})},Kf=()=>{const t=he(),n=p((0,e.useState)({}),2),r=n[0],a=n[1],s=function(){return"backdrop-filter backdrop-blur-lg bg-white bg-opacity-".concat(arguments.length>0&&void 0!==arguments[0]?arguments[0]:20," \n border border-white border-opacity-20 rounded-lg shadow-lg transition-all duration-300")},i=e=>{let t=e.text,n=e.codeKey;return(0,Ve.jsx)("button",{onClick:()=>((e,t)=>{navigator.clipboard.writeText(e).then(()=>{a(e=>l(l({},e),{},{[t]:!0})),setTimeout(()=>a(e=>l(l({},e),{},{[t]:!1})),2e3)})})(t,n),className:"absolute top-2 right-2 ".concat(s()," p-2 hover:bg-white/40 transition-all duration-300 z-10"),title:"Copy to clipboard",children:r[n]?(0,Ve.jsx)(Le,{size:16,className:"text-white"}):(0,Ve.jsx)(ze,{size:16,className:"text-white"})})},o=p((0,e.useState)({name:"",phone:"",email:"",message:""}),2),c=o[0],d=o[1],u=e=>{d(l(l({},c),{},{[e.target.name]:e.target.value}))},h=' Name: Glass ui\n Email: support@example.com\n Phone: +123-456-7890\n Message: This platform has completely transformed how I manage my projects. The user interface is intuitive, and the features save me countless hours each week. Highly recommended!"\n',m=" \n {/* Left-side Information with glassmorphism effect */}\n
\n
\n

\n Welcome to GlassyUI-Components!\n

\n

\n This open-source library features stunning React components\n designed with a captivating glassmorphism effect, perfect for\n giving your web applications a modern and sleek design.\n

\n
    \n
  • \n Email: contact@glassyui.com\n
  • \n
  • \n Phone: +123-456-7890\n
  • \n
  • \n Website: www.glassyui.com\n
  • \n
\n
\n

\n \u2728 Features\n

\n
    \n
  • Glassmorphism-themed React components
  • \n
  • Customizable styles with SCSS
  • \n
  • Beginner-friendly and easy to contribute
  • \n
  • Modular and reusable components
  • \n
\n
\n
\n
\n\n {/* Form Section */}\n
\n

\n Contact Us\n

\n\n
\n
\n {/* Full Name Input */}\n
\n \n FULL NAME *\n \n \n
\n {/* Phone Number Input */}\n
\n \n PHONE NUMBER *\n \n \n
\n
\n\n
\n {/* Email Input */}\n \n EMAIL *\n \n \n
\n\n {/* Message Input */}\n
\n \n MESSAGE *\n \n \n
\n\n {/* reCAPTCHA & Submit Button */}\n
\n
\n
\n \n \n
\n
\n\n \n Send Your Message\n \n
\n
\n
\n ",f=" interface FormData {\n name: string;\n phone: string;\n email: string;\n message: string;\n }\n \n const [formData, setFormData] = useState({\n name: '',\n phone: '',\n email: '',\n message: '',\n });\n\n const handleChange = (\n e: ChangeEvent,\n ) => {\n setFormData({ ...formData, [e.target.name]: e.target.value });\n };\n\n const handleSubmit = (e: FormEvent) => {\n e.preventDefault();\n // Handle form submission logic here\n console.log(formData);\n alert('Message Sent Successfully!');\n setFormData({ name: '', phone: '', email: '', message: '' });\n };\n";return(0,Ve.jsxs)(Ge,{children:[(0,Ve.jsxs)("button",{onClick:()=>t(-1),className:"mb-8 flex items-center ".concat(s(10)," px-4 py-2 hover:bg-white/40 transition-all duration-300 text-white"),children:[(0,Ve.jsx)(Be,{size:20,className:"mr-2"}),"Back to Components"]}),(0,Ve.jsx)("h1",{className:"text-6xl font-bold mb-8 text-white",children:"Contact Us"}),(0,Ve.jsx)("p",{className:"text-xl mb-8 text-white",children:"Get in touch with us through the following channels, or leave us a message using the contact form."}),(0,Ve.jsxs)("div",{className:"".concat(s()," p-6 mb-14 relative"),children:[(0,Ve.jsx)("h2",{className:"text-3xl font-bold mb-6 text-white",children:"Contact Information"}),(0,Ve.jsxs)("div",{className:"relative",children:[(0,Ve.jsx)("pre",{className:"bg-gray-800 text-white p-6 rounded-lg overflow-x-auto whitespace-pre-wrap max-sm:text-[0.55rem]",children:h}),(0,Ve.jsx)(i,{text:h,codeKey:"contactInfo"})]})]}),(0,Ve.jsxs)("div",{className:"".concat(s()," p-6 mb-14 relative"),children:[(0,Ve.jsx)("h2",{className:"text-3xl font-bold mb-6 text-white",children:"Contact Form Logic Part"}),(0,Ve.jsxs)("div",{className:"relative",children:[(0,Ve.jsx)("pre",{className:"bg-gray-800 text-white p-6 rounded-lg overflow-x-auto whitespace-pre-wrap max-sm:text-[0.55rem]",children:f}),(0,Ve.jsx)(i,{text:f,codeKey:"contactLogic"})]})]}),(0,Ve.jsxs)("div",{className:"".concat(s()," p-6 mb-14 relative"),children:[(0,Ve.jsx)("h2",{className:"text-3xl font-bold mb-6 text-white",children:"Contact Form UI Part"}),(0,Ve.jsxs)("div",{className:"relative",children:[(0,Ve.jsx)("pre",{className:"bg-gray-800 text-white p-6 rounded-lg overflow-x-auto whitespace-pre-wrap max-sm:text-[0.55rem]",children:m}),(0,Ve.jsx)(i,{text:m,codeKey:"contactUI"})]})]}),(0,Ve.jsxs)("div",{className:"".concat(s()," p-6 mb-14 relative"),children:[(0,Ve.jsx)("h2",{className:"text-3xl font-bold mb-6 text-white",children:"Contact Form Example"}),(0,Ve.jsxs)("div",{className:"flex flex-col lg:flex-row gap-8",children:[(0,Ve.jsx)("div",{className:"lg:w-[45%] w-full h-[640px] flex justify-center items-center p-10 bg-opacity-40 bg-gray-900 backdrop-blur-xl rounded-3xl shadow-2xl border border-opacity-30 border-gray-300",children:(0,Ve.jsxs)("div",{className:"text-center text-white space-y-6",children:[(0,Ve.jsx)("h1",{className:"text-5xl font-extrabold tracking-tight text-transparent bg-clip-text bg-gradient-to-r from-blue-400 to-purple-500",children:"Welcome to GlassyUI-Components!"}),(0,Ve.jsx)("p",{className:"text-lg text-gray-200 leading-relaxed max-w-[80%] mx-auto",children:"This open-source library features stunning React components designed with a captivating glassmorphism effect, perfect for giving your web applications a modern and sleek design."}),(0,Ve.jsxs)("ul",{className:"space-y-2 text-gray-300",children:[(0,Ve.jsxs)("li",{children:[(0,Ve.jsx)("strong",{children:"Email:"})," contact@glassyui.com"]}),(0,Ve.jsxs)("li",{children:[(0,Ve.jsx)("strong",{children:"Phone:"})," +123-456-7890"]}),(0,Ve.jsxs)("li",{children:[(0,Ve.jsx)("strong",{children:"Website:"})," www.glassyui.com"]})]}),(0,Ve.jsxs)("div",{className:"mt-6 text-left max-w-[80%] mx-auto",children:[(0,Ve.jsx)("h3",{className:"text-2xl font-bold text-purple-300",children:"\u2728 Features"}),(0,Ve.jsxs)("ul",{className:"list-disc list-inside text-gray-400 mt-3 space-y-1",children:[(0,Ve.jsx)("li",{children:"Glassmorphism-themed React components"}),(0,Ve.jsx)("li",{children:"Customizable styles with SCSS"}),(0,Ve.jsx)("li",{children:"Beginner-friendly and easy to contribute"}),(0,Ve.jsx)("li",{children:"Modular and reusable components"})]})]})]})}),(0,Ve.jsxs)("div",{className:"lg:w-[45%] w-full p-10 bg-opacity-50 bg-gray-900 backdrop-blur-xl rounded-3xl shadow-2xl border border-opacity-20 border-gray-200",children:[(0,Ve.jsx)("h2",{className:"text-4xl font-extrabold mb-8 text-white tracking-wide text-center",children:"Contact Us"}),(0,Ve.jsxs)("form",{onSubmit:e=>{e.preventDefault(),console.log(c),alert("Message Sent Successfully! (Check Your Console)"),d({name:"",phone:"",email:"",message:""})},className:"space-y-6",children:[(0,Ve.jsxs)("div",{className:"flex flex-col lg:flex-row gap-6",children:[(0,Ve.jsxs)("div",{className:"w-full",children:[(0,Ve.jsxs)("label",{className:"block text-gray-400 text-sm font-semibold mb-2",htmlFor:"name",children:["FULL NAME ",(0,Ve.jsx)("span",{className:"text-red-500",children:"*"})]}),(0,Ve.jsx)("input",{id:"name",name:"name",type:"text",placeholder:"Enter your name",className:"w-full p-4 rounded-lg bg-gray-800 text-white border-none transition-all duration-300 ease-in-out transform hover:bg-gray-700 focus:bg-gray-700",value:c.name,onChange:u,required:!0})]}),(0,Ve.jsxs)("div",{className:"w-full",children:[(0,Ve.jsxs)("label",{className:"block text-gray-400 text-sm font-semibold mb-2",htmlFor:"phone",children:["PHONE NUMBER ",(0,Ve.jsx)("span",{className:"text-red-500",children:"*"})]}),(0,Ve.jsx)("input",{id:"phone",name:"phone",type:"tel",placeholder:"Enter your number",className:"w-full p-4 rounded-lg bg-gray-800 text-white border-none transition-all duration-300 ease-in-out transform hover:bg-gray-700 focus:bg-gray-700",value:c.phone,onChange:u,required:!0})]})]}),(0,Ve.jsxs)("div",{className:"w-full",children:[(0,Ve.jsxs)("label",{className:"block text-gray-400 text-sm font-semibold mb-2",htmlFor:"email",children:["EMAIL ",(0,Ve.jsx)("span",{className:"text-red-500",children:"*"})]}),(0,Ve.jsx)("input",{id:"email",name:"email",type:"email",placeholder:"Enter your email",className:"w-full p-4 rounded-lg bg-gray-800 text-white border-none transition-all duration-300 ease-in-out transform hover:bg-gray-700 focus:bg-gray-700",value:c.email,onChange:u,required:!0})]}),(0,Ve.jsxs)("div",{children:[(0,Ve.jsxs)("label",{className:"block text-gray-400 text-sm font-semibold mb-2",htmlFor:"message",children:["MESSAGE ",(0,Ve.jsx)("span",{className:"text-red-500",children:"*"})]}),(0,Ve.jsx)("textarea",{id:"message",name:"message",placeholder:"Enter your message",className:"w-full p-4 rounded-lg bg-gray-800 text-white h-36 resize-none border-none transition-all duration-300 ease-in-out transform hover:bg-gray-700 focus:bg-gray-700",value:c.message,onChange:u,required:!0})]}),(0,Ve.jsxs)("div",{className:"flex flex-col space-y-6",children:[(0,Ve.jsx)("div",{children:(0,Ve.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,Ve.jsx)("input",{type:"checkbox",id:"recaptcha",className:"w-5 h-5 accent-blue-600"}),(0,Ve.jsx)("label",{htmlFor:"recaptcha",className:"text-sm text-gray-400",children:"I'm not a robot"})]})}),(0,Ve.jsx)("button",{type:"submit",className:"bg-blue-600 text-white py-3 px-8 rounded-lg font-bold hover:bg-blue-700 transition duration-300 ease-in-out transform hover:scale-105 focus:outline-none",children:"Send Your Message"})]})]})]})]})]}),(0,Ve.jsxs)("section",{className:"".concat(s()," p-6 mb-14 text-white relative z-10"),children:[(0,Ve.jsx)("h2",{className:"text-3xl font-bold mb-4 text-gray-100",children:"Props"}),(0,Ve.jsx)("div",{className:"overflow-x-auto",children:(0,Ve.jsxs)("table",{className:"w-full",children:[(0,Ve.jsx)("thead",{children:(0,Ve.jsxs)("tr",{className:"bg-white bg-opacity-20",children:[(0,Ve.jsx)("th",{className:"text-left p-2 text-gray-100",children:"Prop"}),(0,Ve.jsx)("th",{className:"text-left p-2 text-gray-100",children:"Type"}),(0,Ve.jsx)("th",{className:"text-left p-2 text-gray-100",children:"Default"}),(0,Ve.jsx)("th",{className:"text-left p-2 text-gray-100",children:"Description"})]})}),(0,Ve.jsxs)("tbody",{children:[(0,Ve.jsxs)("tr",{children:[(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"name"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"string"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"''"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"The full name of the user."})]}),(0,Ve.jsxs)("tr",{className:"bg-white bg-opacity-10",children:[(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"phone"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"string"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"''"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"The user's contact number."})]}),(0,Ve.jsxs)("tr",{children:[(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"email"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"string"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"''"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"The email address of the user."})]}),(0,Ve.jsxs)("tr",{className:"bg-white bg-opacity-10",children:[(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"message"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"string"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"''"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"The message content that the user wishes to send."})]})]})]})})]})]})},qf=()=>{const t=he(),n=p((0,e.useState)({}),2),r=n[0],a=n[1],s=function(){return"backdrop-filter backdrop-blur-lg bg-white bg-opacity-".concat(arguments.length>0&&void 0!==arguments[0]?arguments[0]:20," \n border border-white border-opacity-20 rounded-lg shadow-lg transition-all duration-300")},i=e=>{let t=e.text,n=e.codeKey;return(0,Ve.jsx)("button",{onClick:()=>((e,t)=>{navigator.clipboard.writeText(e).then(()=>{a(e=>l(l({},e),{},{[t]:!0})),setTimeout(()=>a(e=>l(l({},e),{},{[t]:!1})),2e3)})})(t,n),className:"absolute top-2 right-2 ".concat(s()," p-2 hover:bg-white/40 transition-all duration-300 z-10"),title:"Copy to clipboard",children:r[n]?(0,Ve.jsx)(Le,{size:16,className:"text-white"}):(0,Ve.jsx)(ze,{size:16,className:"text-white"})})},o="\n
e.stopPropagation()}>\n handlePageChange(currentPage - 1)}\n disabled={currentPage === 1}\n className={`px-4 py-2 rounded-full transition-colors duration-200 border border-gray-500 ${ \n currentPage === 1\n ? 'bg-gray-600 text-gray-500 cursor-not-allowed opacity-50'\n : 'bg-gray-600 text-white hover:bg-gray-700'\n }`}\n >\n Previous\n \n \n {currentPage > 2 && (\n <>\n handlePageChange(1)}\n className=\"px-4 py-2 rounded-full transition-colors duration-200 border border-gray-500 bg-gray-600 text-white hover:bg-gray-700\"\n >\n 1\n \n {currentPage > Math.floor(maxVisiblePages / 2) + 1 && (\n ...\n )}\n \n )}\n \n {getVisiblePages().map((page) => (\n handlePageChange(page)}\n className={`px-4 py-2 rounded-full transition-colors duration-200 border border-gray-500 ${ \n currentPage === page ? 'bg-blue-600 text-white' : 'bg-gray-600 text-white hover:bg-gray-700' \n }`}\n >\n {page}\n \n ))}\n \n {currentPage < totalPages - Math.floor(maxVisiblePages / 2) && (\n <>\n {currentPage < totalPages - Math.floor(maxVisiblePages / 2) - 1 && (\n ...\n )}\n handlePageChange(totalPages)}\n className=\"px-4 py-2 rounded-full transition-colors duration-200 border border-gray-500 bg-gray-600 text-white hover:bg-gray-700\"\n >\n {totalPages}\n \n \n )}\n \n handlePageChange(currentPage + 1)}\n disabled={currentPage === totalPages}\n className={`px-4 py-2 rounded-full transition-colors duration-200 border border-gray-500 ${ \n currentPage === totalPages\n ? 'bg-gray-700 text-gray-500 cursor-not-allowed opacity-50'\n : 'bg-gray-600 text-white hover:bg-gray-700'\n }`}\n >\n Next\n \n
\n ",c="\n const [currentPage, setCurrentPage] = useState(1);\n const totalPages = 10; // Set your total number of pages\n const maxVisiblePages = 4; // Maximum number of visible pages\n\n const handlePageChange = (page: number) => {\n if (page >= 1 && page <= totalPages) {\n setCurrentPage(page);\n console.log(`Page changed to: ${page}`);\n }\n };\n\n const getVisiblePages = () => {\n let startPage = Math.max(1, currentPage - Math.floor(maxVisiblePages / 2));\n const endPage = Math.min(totalPages, startPage + maxVisiblePages - 1);\n\n // Adjust startPage if we're near the end\n if (endPage - startPage + 1 < maxVisiblePages) {\n startPage = Math.max(1, endPage - maxVisiblePages + 1);\n }\n\n const visiblePages = [];\n for (let i = startPage; i <= endPage; i++) {\n visiblePages.push(i);\n }\n\n return visiblePages;\n };\n",d=p((0,e.useState)(1),2),u=d[0],h=d[1],m=10,f=e=>{e>=1&&e<=m&&(h(e),console.log("Page changed to: ".concat(e)))};return(0,Ve.jsxs)(Ge,{children:[(0,Ve.jsxs)("button",{onClick:()=>t(-1),className:"mb-8 flex items-center ".concat(s(10)," px-4 py-2 hover:bg-white/40 transition-all duration-300 text-white"),children:[(0,Ve.jsx)(Be,{size:20,className:"mr-2"}),"Back to Components"]}),(0,Ve.jsx)("h1",{className:"text-6xl font-bold mb-8 text-white",children:"Pagination"}),(0,Ve.jsx)("p",{className:"text-xl mb-8 text-white",children:"A responsive, glassmorphism styled pagination component."}),(0,Ve.jsxs)("div",{className:"".concat(s()," p-6 mb-14 relative"),children:[(0,Ve.jsx)("h2",{className:"text-3xl font-bold mb-6 text-white",children:"Pagination logic"}),(0,Ve.jsxs)("div",{className:"relative",children:[(0,Ve.jsx)("pre",{className:"bg-gray-800 text-white p-6 rounded-lg overflow-x-auto whitespace-pre-wrap max-sm:text-[0.55rem]",children:c}),(0,Ve.jsx)(i,{text:c,codeKey:"paginationLogin"})]})]}),(0,Ve.jsxs)("div",{className:"".concat(s()," p-6 mb-14 relative"),children:[(0,Ve.jsx)("h2",{className:"text-3xl font-bold mb-6 text-white",children:"Basic Usage"}),(0,Ve.jsxs)("div",{className:"relative",children:[(0,Ve.jsx)("pre",{className:"bg-gray-800 text-white p-6 rounded-lg overflow-x-auto whitespace-pre-wrap max-sm:text-[0.55rem]",children:o}),(0,Ve.jsx)(i,{text:o,codeKey:"basicPagination"})]})]}),(0,Ve.jsxs)("div",{className:"".concat(s()," p-6 mb-14"),children:[(0,Ve.jsx)("h2",{className:"text-3xl font-bold mb-6 text-white",children:"Props"}),(0,Ve.jsx)("div",{className:"overflow-x-auto",children:(0,Ve.jsxs)("table",{className:"w-full",children:[(0,Ve.jsx)("thead",{children:(0,Ve.jsxs)("tr",{className:"bg-white bg-opacity-20",children:[(0,Ve.jsx)("th",{className:"text-left p-2 text-white",children:"Prop"}),(0,Ve.jsx)("th",{className:"text-left p-2 text-white",children:"Type"}),(0,Ve.jsx)("th",{className:"text-left p-2 text-white",children:"Default"}),(0,Ve.jsx)("th",{className:"text-left p-2 text-white",children:"Description"})]})}),(0,Ve.jsxs)("tbody",{children:[(0,Ve.jsxs)("tr",{children:[(0,Ve.jsx)("td",{className:"p-2 text-white",children:"total"}),(0,Ve.jsx)("td",{className:"p-2 text-white",children:"number"}),(0,Ve.jsx)("td",{className:"p-2 text-white",children:"-"}),(0,Ve.jsx)("td",{className:"p-2 text-white",children:"Total number of items"})]}),(0,Ve.jsxs)("tr",{className:"bg-white bg-opacity-10",children:[(0,Ve.jsx)("td",{className:"p-2 text-white",children:"currentPage"}),(0,Ve.jsx)("td",{className:"p-2 text-white",children:"number"}),(0,Ve.jsx)("td",{className:"p-2 text-white",children:"1"}),(0,Ve.jsx)("td",{className:"p-2 text-white",children:"The current active page"})]}),(0,Ve.jsxs)("tr",{children:[(0,Ve.jsx)("td",{className:"p-2 text-white",children:"pageSize"}),(0,Ve.jsx)("td",{className:"p-2 text-white",children:"number"}),(0,Ve.jsx)("td",{className:"p-2 text-white",children:"10"}),(0,Ve.jsx)("td",{className:"p-2 text-white",children:"Number of items per page"})]}),(0,Ve.jsxs)("tr",{className:"bg-white bg-opacity-10",children:[(0,Ve.jsx)("td",{className:"p-2 text-white",children:"onPageChange"}),(0,Ve.jsx)("td",{className:"p-2 text-white",children:"function"}),(0,Ve.jsx)("td",{className:"p-2 text-white",children:"-"}),(0,Ve.jsx)("td",{className:"p-2 text-white",children:"Callback when page changes"})]}),(0,Ve.jsxs)("tr",{children:[(0,Ve.jsx)("td",{className:"p-2 text-white",children:"maxVisiblePages"}),(0,Ve.jsx)("td",{className:"p-2 text-white",children:"Number"}),(0,Ve.jsx)("td",{className:"p-2 text-white",children:"5"}),(0,Ve.jsx)("td",{className:"p-2 text-white",children:"Number of page to show"})]})]})]})})]}),(0,Ve.jsxs)("section",{className:"".concat(s()," p-6 mb-14"),children:[(0,Ve.jsx)("h2",{className:"text-3xl font-bold mb-4 text-white",children:"Pagination Example"}),(0,Ve.jsxs)("div",{className:"flex justify-center items-center space-x-2",onClick:e=>{e.stopPropagation()},children:[(0,Ve.jsx)("button",{onClick:()=>f(u-1),disabled:1===u,className:"px-4 py-2 rounded-full transition-colors duration-200 border border-gray-500 ".concat(1===u?"bg-gray-600 text-gray-500 cursor-not-allowed opacity-50":"bg-gray-600 text-white hover:bg-gray-700"),children:"Previous"}),u>2&&(0,Ve.jsxs)(Ve.Fragment,{children:[(0,Ve.jsx)("button",{onClick:()=>f(1),className:"px-4 py-2 rounded-full transition-colors duration-200 border border-gray-500 bg-gray-600 text-white hover:bg-gray-700",children:"1"}),u>Math.floor(2)+1&&(0,Ve.jsx)("span",{className:"px-3 text-gray-400",children:"..."})]}),(()=>{let e=Math.max(1,u-Math.floor(2));const t=Math.min(m,e+4-1);t-e+1<4&&(e=Math.max(1,t-4+1));const n=[];for(let r=e;r<=t;r++)n.push(r);return n})().map(e=>(0,Ve.jsx)("button",{onClick:()=>f(e),className:"px-4 py-2 rounded-full transition-colors duration-200 border border-gray-500 ".concat(u===e?"bg-blue-600 text-white":"bg-gray-600 text-white hover:bg-gray-600"),children:e},e)),uf(m),className:"px-4 py-2 rounded-full transition-colors duration-200 border border-gray-500 bg-gray-600 text-white hover:bg-gray-700",children:m})]}),(0,Ve.jsx)("button",{onClick:()=>f(u+1),disabled:u===m,className:"px-4 py-2 rounded-full transition-colors duration-200 border border-gray-500 ".concat(u===m?"bg-gray-700 text-gray-500 cursor-not-allowed opacity-50":"bg-gray-600 text-white hover:bg-gray-700"),children:"Next"})]})]})]})},$f=()=>{const t=he(),n=p((0,e.useState)({}),2),r=n[0],a=n[1],s=function(){return"backdrop-filter backdrop-blur-lg bg-white bg-opacity-".concat(arguments.length>0&&void 0!==arguments[0]?arguments[0]:20," \n border border-white border-opacity-20 rounded-lg shadow-lg transition-all duration-300")},i=e=>{let t=e.text,n=e.codeKey;return(0,Ve.jsx)("button",{onClick:()=>((e,t)=>{navigator.clipboard.writeText(e).then(()=>{a(e=>l(l({},e),{},{[t]:!0})),setTimeout(()=>a(e=>l(l({},e),{},{[t]:!1})),2e3)})})(t,n),className:"absolute top-2 right-2 ".concat(s()," p-2 hover:bg-white/40 transition-all duration-300 z-10"),title:"Copy to clipboard",children:r[n]?(0,Ve.jsx)(Le,{size:16,className:"text-green-600"}):(0,Ve.jsx)(ze,{size:16,className:"text-white"})})},o='\n \n\n
\n
\n \n \n \n

GlassyUI has transformed my approach to web design. I can\u2019t imagine going back to plain styles!

\n \n testimonial\n \n Ayush Sharma\n Third-year Student\n \n \n
\n
\n ';return(0,Ve.jsxs)(Ge,{children:[(0,Ve.jsxs)("button",{onClick:()=>t(-1),className:"mb-8 flex items-center ".concat(s(10)," px-4 py-2 hover:bg-white/40 transition-all duration-300 text-gray-300"),children:[(0,Ve.jsx)(Be,{size:20,className:"mr-2"}),"Back to Components"]}),(0,Ve.jsx)("h1",{className:"text-6xl font-bold mb-8 text-white",children:"Testimonial Component"}),(0,Ve.jsx)("p",{className:"text-xl mb-8 text-white",children:"A simple component to display user testimonials."}),(0,Ve.jsxs)("div",{className:"".concat(s()," p-6 mb-14 relative"),children:[(0,Ve.jsx)("h2",{className:"text-3xl font-bold mb-6 text-white",children:"Basic Usage"}),(0,Ve.jsxs)("div",{className:"relative",children:[(0,Ve.jsx)("pre",{className:"bg-gray-800 text-white p-6 rounded-lg overflow-x-auto whitespace-pre-wrap max-sm:text-[0.55rem]",children:o}),(0,Ve.jsx)(i,{text:o,codeKey:"testimonial"})]})]}),(0,Ve.jsxs)("div",{className:"".concat(s()," p-6 mb-14"),children:[(0,Ve.jsx)("h2",{className:"text-3xl font-bold mb-6 text-white",children:"Props"}),(0,Ve.jsx)("div",{className:"overflow-x-auto",children:(0,Ve.jsxs)("table",{className:"w-full",children:[(0,Ve.jsx)("thead",{children:(0,Ve.jsxs)("tr",{className:"bg-white bg-opacity-20",children:[(0,Ve.jsx)("th",{className:"text-left p-2 text-gray-300",children:"Prop"}),(0,Ve.jsx)("th",{className:"text-left p-2 text-gray-300",children:"Type"}),(0,Ve.jsx)("th",{className:"text-left p-2 text-gray-300",children:"Default"}),(0,Ve.jsx)("th",{className:"text-left p-2 text-gray-300",children:"Description"})]})}),(0,Ve.jsxs)("tbody",{children:[(0,Ve.jsxs)("tr",{children:[(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"name"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"string"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"-"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"Name of the person giving the testimonial"})]}),(0,Ve.jsxs)("tr",{className:"bg-white bg-opacity-10",children:[(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"message"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"string"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"-"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"The testimonial message from the user"})]}),(0,Ve.jsxs)("tr",{children:[(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"imageSrc"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"string"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"-"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"URL of the testimonial image"})]})]})]})})]}),(0,Ve.jsxs)("section",{className:"".concat(s()," p-6 mb-14"),children:[(0,Ve.jsx)("h2",{className:"text-2xl font-bold mb-4 text-white",children:"Testimonial Example"}),(0,Ve.jsxs)("div",{className:"flex justify-between",children:[(0,Ve.jsx)("div",{className:"lg:w-[30%] max-sm:mx-2 max-sm:px-0 w-full testimonialBox rounded-3xl",children:(0,Ve.jsxs)("div",{className:"h-full bg-gray-950 text-white z-30 bg-opacity-40 p-8 max-sm:py-7 max-sm:px-4 rounded-3xl",children:[(0,Ve.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"currentColor",className:"block w-5 h-5 mb-4 text-yellow-500",viewBox:"0 0 975.036 975.036",children:(0,Ve.jsx)("path",{d:"M925.036 57.197h-304c-27.6 0-50 22.4-50 50v304c0 27.601 22.4 50 50 50h145.5c-1.9 79.601-20.4 143.3-55.4 191.2-27.6 37.8-69.399 69.1-125.3 93.8-25.7 11.3-36.8 41.7-24.8 67.101l36 76c11.6 24.399 40.3 35.1 65.1 24.399 66.2-28.6 122.101-64.8 167.7-108.8 55.601-53.7 93.7-114.3 114.3-181.9 20.601-67.6 30.9-159.8 30.9-276.8v-239c0-27.599-22.401-50-50-50zM106.036 913.497c65.4-28.5 121-64.699 166.9-108.6 56.1-53.7 94.4-114.1 115-181.2 20.6-67.1 30.899-159.6 30.899-277.5v-239c0-27.6-22.399-50-50-50h-304c-27.6 0-50 22.4-50 50v304c0 27.601 22.4 50 50 50h145.5c-1.9 79.601-20.4 143.3-55.4 191.2-27.6 37.8-69.4 69.1-125.3 93.8-25.7 11.3-36.8 41.7-24.8 67.101l35.9 75.8c11.601 24.399 40.501 35.2 65.301 24.399z"})}),(0,Ve.jsx)("p",{className:"leading-relaxed mb-6",children:"GlassyUI has transformed my approach to web design. I can\u2019t imagine going back to plain styles!"}),(0,Ve.jsxs)("a",{className:"inline-flex items-center",children:[(0,Ve.jsx)("img",{alt:"testimonial",src:"https://dummyimage.com/106x106",className:"w-12 h-12 rounded-full flex-shrink-0 object-cover object-center"}),(0,Ve.jsxs)("span",{className:"flex-grow flex flex-col pl-4",children:[(0,Ve.jsx)("span",{className:"title-font font-medium text-white",children:"Ayush Sharma"}),(0,Ve.jsx)("span",{className:"text-gray-500 text-sm",children:"Second-year Student"})]})]})]})}),(0,Ve.jsx)("div",{className:"lg:w-[30%] max-sm:mx-2 max-sm:px-0 w-full testimonialBox rounded-3xl",children:(0,Ve.jsxs)("div",{className:"h-full bg-gray-950 text-white z-30 bg-opacity-40 p-8 max-sm:py-7 max-sm:px-4 rounded-3xl",children:[(0,Ve.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"currentColor",className:"block w-5 h-5 mb-4 text-red-500",viewBox:"0 0 975.036 975.036",children:(0,Ve.jsx)("path",{d:"M925.036 57.197h-304c-27.6 0-50 22.4-50 50v304c0 27.601 22.4 50 50 50h145.5c-1.9 79.601-20.4 143.3-55.4 191.2-27.6 37.8-69.399 69.1-125.3 93.8-25.7 11.3-36.8 41.7-24.8 67.101l36 76c11.6 24.399 40.3 35.1 65.1 24.399 66.2-28.6 122.101-64.8 167.7-108.8 55.601-53.7 93.7-114.3 114.3-181.9 20.601-67.6 30.9-159.8 30.9-276.8v-239c0-27.599-22.401-50-50-50zM106.036 913.497c65.4-28.5 121-64.699 166.9-108.6 56.1-53.7 94.4-114.1 115-181.2 20.6-67.1 30.899-159.6 30.899-277.5v-239c0-27.6-22.399-50-50-50h-304c-27.6 0-50 22.4-50 50v304c0 27.601 22.4 50 50 50h145.5c-1.9 79.601-20.4 143.3-55.4 191.2-27.6 37.8-69.4 69.1-125.3 93.8-25.7 11.3-36.8 41.7-24.8 67.101l35.9 75.8c11.601 24.399 40.501 35.2 65.301 24.399z"})}),(0,Ve.jsx)("p",{className:"leading-relaxed mb-6",children:"Working with GlassyUI has been a breath of fresh air. It inspires creativity in my designs!"}),(0,Ve.jsxs)("a",{className:"inline-flex items-center",children:[(0,Ve.jsx)("img",{alt:"testimonial",src:"https://media.licdn.com/dms/image/v2/D4D03AQExi2L1iZoycg/profile-displayphoto-shrink_800_800/profile-displayphoto-shrink_800_800/0/1713621091204?e=1734566400&v=beta&t=V765paSmxipOO47auCPoBLzdgFKnnT3dEiYdh0Sp-Oo",className:"w-12 h-12 rounded-full flex-shrink-0 object-cover object-center"}),(0,Ve.jsxs)("span",{className:"flex-grow flex flex-col pl-4",children:[(0,Ve.jsx)("span",{className:"title-font font-medium text-white",children:"Sawan Kushwah"}),(0,Ve.jsx)("span",{className:"text-gray-500 text-sm",children:"Third-year Student"})]})]})]})}),(0,Ve.jsx)("div",{className:"lg:w-[30%] max-sm:mx-2 max-sm:px-0 w-full testimonialBox rounded-3xl",children:(0,Ve.jsxs)("div",{className:"h-full bg-gray-950 text-white z-30 bg-opacity-40 p-8 max-sm:py-7 max-sm:px-4 rounded-3xl",children:[(0,Ve.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"currentColor",className:"block w-5 h-5 mb-4 text-green-500",viewBox:"0 0 975.036 975.036",children:(0,Ve.jsx)("path",{d:"M925.036 57.197h-304c-27.6 0-50 22.4-50 50v304c0 27.601 22.4 50 50 50h145.5c-1.9 79.601-20.4 143.3-55.4 191.2-27.6 37.8-69.399 69.1-125.3 93.8-25.7 11.3-36.8 41.7-24.8 67.101l36 76c11.6 24.399 40.3 35.1 65.1 24.399 66.2-28.6 122.101-64.8 167.7-108.8 55.601-53.7 93.7-114.3 114.3-181.9 20.601-67.6 30.9-159.8 30.9-276.8v-239c0-27.599-22.401-50-50-50zM106.036 913.497c65.4-28.5 121-64.699 166.9-108.6 56.1-53.7 94.4-114.1 115-181.2 20.6-67.1 30.899-159.6 30.899-277.5v-239c0-27.6-22.399-50-50-50h-304c-27.6 0-50 22.4-50 50v304c0 27.601 22.4 50 50 50h145.5c-1.9 79.601-20.4 143.3-55.4 191.2-27.6 37.8-69.4 69.1-125.3 93.8-25.7 11.3-36.8 41.7-24.8 67.101l35.9 75.8c11.601 24.399 40.501 35.2 65.301 24.399z"})}),(0,Ve.jsx)("p",{className:"leading-relaxed mb-6",children:"Using GlassyUI has simplified my design process. The components are intuitive and straightforward."}),(0,Ve.jsxs)("a",{className:"inline-flex items-center",children:[(0,Ve.jsx)("img",{alt:"testimonial",src:"https://dummyimage.com/106x106",className:"w-12 h-12 rounded-full flex-shrink-0 object-cover object-center"}),(0,Ve.jsxs)("span",{className:"flex-grow flex flex-col pl-4",children:[(0,Ve.jsx)("span",{className:"title-font font-medium text-white",children:"Jaishree"}),(0,Ve.jsx)("span",{className:"text-gray-500 text-sm",children:"Third-year Student"})]})]})]})})]})]})]})},Zf=e=>{let t=e.to,n=e.children;return(0,Ve.jsx)(St,{to:t,className:"footer-link",children:n})},Yf=e=>{let t=e.href,n=e.label,r=e.children;return(0,Ve.jsx)("a",{href:t,target:"_blank",rel:"noopener noreferrer","aria-label":n,className:"footer-social-btn",children:r})},Xf=()=>{const t=p((0,e.useState)(""),2),n=t[0],r=t[1],a=p((0,e.useState)(!1),2),s=a[0],i=a[1],o=p((0,e.useState)(!1),2),l=o[0],c=o[1];return(0,Ve.jsxs)("footer",{className:"footer-root adaptive-glass",children:[(0,Ve.jsx)("div",{className:"footer-glow-left"}),(0,Ve.jsx)("div",{className:"footer-glow-right"}),(0,Ve.jsxs)("div",{className:"footer-inner",children:[(0,Ve.jsxs)("div",{className:"footer-brand",children:[(0,Ve.jsxs)(St,{to:"/",className:"footer-logo",children:[(0,Ve.jsx)("div",{className:"footer-logo-mark",children:"G"}),(0,Ve.jsxs)("span",{className:"footer-logo-text",children:[(0,Ve.jsx)("span",{className:"footer-logo-accent",children:"Glassy"}),"UI"]})]}),(0,Ve.jsx)("p",{className:"footer-tagline",children:"Beautifully crafted glassmorphism components for the modern web. Open source, free forever."}),(0,Ve.jsxs)("div",{className:"footer-social",children:[(0,Ve.jsx)(Yf,{href:"https://github.com/Jaishree2310/GlassyUI-Components",label:"GitHub",children:(0,Ve.jsx)("svg",{viewBox:"0 0 24 24",fill:"currentColor",width:"18",height:"18",children:(0,Ve.jsx)("path",{d:"M12 0C5.374 0 0 5.373 0 12c0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23A11.509 11.509 0 0112 5.803c1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576C20.566 21.797 24 17.3 24 12c0-6.627-5.373-12-12-12z"})})}),(0,Ve.jsx)(Yf,{href:"https://twitter.com",label:"Twitter / X",children:(0,Ve.jsx)("svg",{viewBox:"0 0 24 24",fill:"currentColor",width:"18",height:"18",children:(0,Ve.jsx)("path",{d:"M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"})})}),(0,Ve.jsx)(Yf,{href:"https://linkedin.com",label:"LinkedIn",children:(0,Ve.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",width:"18",height:"18",children:[(0,Ve.jsx)("path",{d:"M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z"}),(0,Ve.jsx)("rect",{width:"4",height:"12",x:"2",y:"9"}),(0,Ve.jsx)("circle",{cx:"4",cy:"4",r:"2"})]})})]})]}),(0,Ve.jsxs)("div",{className:"footer-col",children:[(0,Ve.jsx)("h3",{className:"footer-col-title",children:"Explore"}),(0,Ve.jsxs)("ul",{className:"footer-links",children:[(0,Ve.jsx)("li",{children:(0,Ve.jsx)(Zf,{to:"/components",children:"Components"})}),(0,Ve.jsx)("li",{children:(0,Ve.jsx)(Zf,{to:"/generator",children:"Generator"})}),(0,Ve.jsx)("li",{children:(0,Ve.jsx)(Zf,{to:"/adaptive-background-intelligence",children:"Adaptive Intelligence"})}),(0,Ve.jsx)("li",{children:(0,Ve.jsx)(Zf,{to:"/contributors",children:"Contributors"})}),(0,Ve.jsx)("li",{children:(0,Ve.jsx)(Zf,{to:"/stories",children:"Stories"})})]})]}),(0,Ve.jsxs)("div",{className:"footer-col",children:[(0,Ve.jsx)("h3",{className:"footer-col-title",children:"Company"}),(0,Ve.jsxs)("ul",{className:"footer-links",children:[(0,Ve.jsx)("li",{children:(0,Ve.jsx)(Zf,{to:"/about",children:"About Us"})}),(0,Ve.jsx)("li",{children:(0,Ve.jsx)(Zf,{to:"/termsOfUse",children:"Terms & Privacy"})})]})]}),(0,Ve.jsxs)("div",{className:"footer-col footer-col-wide",children:[(0,Ve.jsx)("h3",{className:"footer-col-title",children:"Stay Updated"}),(0,Ve.jsx)("p",{className:"footer-newsletter-desc",children:"Get notified about new components and releases."}),l?(0,Ve.jsxs)("div",{className:"footer-subscribed",children:[(0,Ve.jsx)("span",{children:"\u2713"})," You're subscribed \u2014 thanks!"]}):(0,Ve.jsxs)("form",{onSubmit:async e=>{if(e.preventDefault(),n){i(!0);try{(await fetch("http://localhost:5000/api/newsletter/subscribe",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:n})})).ok&&(c(!0),r(""))}catch(t){}finally{i(!1)}}},className:"footer-form",noValidate:!0,children:[(0,Ve.jsx)("input",{type:"email",value:n,onChange:e=>r(e.target.value),placeholder:"your@email.com",required:!0,className:"footer-input"}),(0,Ve.jsx)("button",{type:"submit",disabled:s,className:"footer-submit",children:s?"\u2026":"Subscribe"})]})]})]}),(0,Ve.jsxs)("div",{className:"footer-bottom",children:[(0,Ve.jsxs)("p",{className:"footer-copy",children:["\xa9 ",(new Date).getFullYear()," GlassyUI. All rights reserved."]}),(0,Ve.jsxs)("div",{className:"footer-bottom-links",children:[(0,Ve.jsx)(Zf,{to:"/termsOfUse",children:"Terms of Use"}),(0,Ve.jsx)(Zf,{to:"/termsOfUse",children:"Privacy Policy"})]})]})]})};function Jf(e){var t,n,r="";if("string"==typeof e||"number"==typeof e)r+=e;else if("object"==typeof e)if(Array.isArray(e)){var a=e.length;for(t=0;t0,D="century"!==O,F=function(e,t){switch(e){case"century":return fg(t);case"decade":return wg(t);case"year":return Sg(t);case"month":return Dg(t);default:throw new Error("Invalid rangeType: ".concat(e))}}(O,t),R=D?function(e,t){switch(e){case"decade":return wg(t,-100);case"year":return Sg(t,-10);case"month":return Dg(t,-12);default:throw new Error("Invalid rangeType: ".concat(e))}}(O,t):void 0,M=ux(O,t),L=D?function(e,t){switch(e){case"decade":return jg(t,100);case"year":return Tg(t,10);case"month":return Fg(t,12);default:throw new Error("Invalid rangeType: ".concat(e))}}(O,t):void 0,z=function(){if(F.getFullYear()<0)return!0;var e=function(e,t){switch(e){case"century":return vg(t);case"decade":return kg(t);case"year":return Pg(t);case"month":return Mg(t);default:throw new Error("Invalid rangeType: ".concat(e))}}(O,t);return c&&c>=e}(),B=D&&function(){if(R.getFullYear()<0)return!0;var e=function(e,t){switch(e){case"decade":return kg(t,-100);case"year":return Pg(t,-10);case"month":return Mg(t,-12);default:throw new Error("Invalid rangeType: ".concat(e))}}(O,t);return c&&c>=e}(),U=l&&l=e}function _x(e,t){return kx(e[0],t)||kx(e[1],t)}function Cx(e,t,n){var r=[];if(_x(t,e)){r.push(n);var a=kx(e[0],t),s=kx(e[1],t);a&&r.push("".concat(n,"Start")),s&&r.push("".concat(n,"End")),a&&s&&r.push("".concat(n,"BothEnds"))}return r}function Sx(e){if(!e)throw new Error("args is required");var t=e.value,n=e.date,r=e.hover,a="react-calendar__tile",s=[a];if(!n)return s;var i=new Date,o=function(){if(Array.isArray(n))return n;var t=e.dateType;if(!t)throw new Error("dateType is required when date is not an array of two dates");return px(t,n)}();if(kx(i,o)&&s.push("".concat(a,"--now")),!t||!function(e){return Array.isArray(e)?null!==e[0]&&null!==e[1]:null!==e}(t))return s;var l,c,d=function(){if(Array.isArray(t))return t;var n=e.valueType;if(!n)throw new Error("valueType is required when value is not an array of two dates");return px(n,t)}();c=o,(l=d)[0]<=c[0]&&l[1]>=c[1]?s.push("".concat(a,"--active")):_x(d,o)&&s.push("".concat(a,"--hasActive"));var u=Cx(d,o,"".concat(a,"--range"));s.push.apply(s,u);var h=Array.isArray(t)?t:[t];if(r&&1===h.length){var p=Cx(r>d[0]?[d[0],r]:[r,d[0]],o,"".concat(a,"--hover"));s.push.apply(s,p)}return s}function Tx(e){for(var t=e.className,n=e.count,r=void 0===n?3:n,a=e.dateTransform,s=e.dateType,i=e.end,o=e.hover,l=e.offset,c=e.renderTile,d=e.start,u=e.step,h=void 0===u?1:u,p=e.value,m=e.valueType,f=[],g=d;g<=i;g+=h){var x=a(g);f.push(c({classes:Sx({date:x,dateType:s,hover:o,value:p,valueType:m}),date:x}))}return(0,Ve.jsx)(Nx,{className:t,count:r,offset:l,wrap:!0,children:f})}function Ex(t){var n=t.activeStartDate,r=t.children,a=t.classes,s=t.date,i=t.formatAbbr,o=t.locale,l=t.maxDate,c=t.maxDateTransform,d=t.minDate,u=t.minDateTransform,h=t.onClick,p=t.onMouseOver,m=t.style,f=t.tileClassName,g=t.tileContent,x=t.tileDisabled,v=t.view,b=(0,e.useMemo)(function(){return"function"===typeof f?f({activeStartDate:n,date:s,view:v}):f},[n,s,f,v]),y=(0,e.useMemo)(function(){return"function"===typeof g?g({activeStartDate:n,date:s,view:v}):g},[n,s,g,v]);return(0,Ve.jsxs)("button",{className:Qf(a,b),disabled:d&&u(d)>s||l&&c(l)e?t:n&&n0,Ie=(0,e.useCallback)(function(e){return function(){switch(X){case"start":return Ov;case"end":return Iv;case"range":return Dv;default:throw new Error("Invalid returnValue.")}}()({maxDate:j,maxDetail:k,minDate:C,value:e})},[j,k,C,X]),De=(0,e.useCallback)(function(e,t){fe(e);var n={action:t,activeStartDate:e,value:Ce,view:Te};R&&!Mv(_e,e)&&R(n)},[_e,R,Ce,Te]),Fe=(0,e.useCallback)(function(e,t){var n=function(){switch(Te){case"century":return z;case"decade":return V;case"year":return B;case"month":return L;default:throw new Error("Invalid view: ".concat(Te,"."))}}();n&&n(e,t)},[L,z,B,V,Te]),Re=(0,e.useCallback)(function(e,t){if(Ae){Fe(e,t);var n=Ee[Ee.indexOf(Te)+1];if(!n)throw new Error("Attempted to drill down from the lowest view.");fe(e),ke(n);var r={action:"drillDown",activeStartDate:e,value:Ce,view:n};R&&!Mv(_e,e)&&R(r),G&&Te!==n&&G(r),W&&W(r)}},[_e,Ae,R,Fe,W,G,Ce,Te,Ee]),Me=(0,e.useCallback)(function(){if(Oe){var e=Ee[Ee.indexOf(Te)-1];if(!e)throw new Error("Attempted to drill up from the highest view.");var t=dx(e,_e);fe(t),ke(e);var n={action:"drillUp",activeStartDate:t,value:Ce,view:e};R&&!Mv(_e,t)&&R(n),G&&Te!==e&&G(n),H&&H(n)}},[_e,Oe,R,H,G,Ce,Te,Ee]),Le=(0,e.useCallback)(function(e,t){var n=Ce;Fe(e,t);var r,s=J&&!Rv(n);if(J)if(s)r=dx(Se,e);else{if(!n)throw new Error("previousValue is required");if(Array.isArray(n))throw new Error("previousValue must not be an array");r=function(e,t,n){var r=[t,n].sort(function(e,t){return e.getTime()-t.getTime()});return[dx(e,r[0]),hx(e,r[1])]}(Se,n,e)}else r=Ie(e);var i=!J||s||v?Fv({maxDate:j,maxDetail:k,minDate:C,minDetail:T,value:r,view:Te}):null;t.persist(),fe(i),we(r);var o={action:"onChange",activeStartDate:i,value:r,view:Te};if(R&&!Mv(_e,i)&&R(o),M)if(J)if(Rv(r)){if(a){if(Array.isArray(r))throw new Error("value must not be an array");M([r||null,null],t)}}else M(r||null,t);else M(r||null,t)},[_e,a,Ie,v,j,k,C,T,R,M,Fe,J,Ce,Se,Te]);function ze(e){ve(e)}function Be(){ve(null)}function Ue(e){var t={activeStartDate:e?ux(Te,_e):dx(Te,_e),hover:Pe,locale:y,maxDate:j,minDate:C,onClick:Ae?Re:Le,onMouseOver:J?ze:void 0,tileClassName:le,tileContent:ce,tileDisabled:de,value:Ce,valueType:Se};switch(Te){case"century":return(0,Ve.jsx)(Lx,wv({formatYear:g,showNeighboringCentury:re},t));case"decade":return(0,Ve.jsx)(qx,wv({formatYear:g,showNeighboringDecade:ae},t));case"year":return(0,Ve.jsx)(nv,wv({formatMonth:h,formatMonthYear:p},t));case"month":return(0,Ve.jsx)(yv,wv({calendarType:s,formatDay:d,formatLongDate:u,formatShortWeekday:m,formatWeekday:f,onClickWeekNumber:U,onMouseLeave:J?Be:void 0,showFixedNumberOfWeeks:"undefined"!==typeof ee?ee:Q,showNeighboringMonth:ie,showWeekNumbers:oe},t));default:throw new Error("Invalid view: ".concat(Te,"."))}}(0,e.useImperativeHandle)(n,function(){return{activeStartDate:_e,drillDown:Re,drillUp:Me,onChange:Le,setActiveStartDate:De,value:Ce,view:Te}},[_e,Re,Me,Le,De,Ce,Te]);var We=Array.isArray(Ce)?Ce:[Ce];return(0,Ve.jsxs)("div",{className:Qf(jv,J&&1===We.length&&"".concat(jv,"--selectRange"),Q&&"".concat(jv,"--doubleView"),i),ref:b,children:[ne?(0,Ve.jsx)(bx,{activeStartDate:_e,drillUp:Me,formatMonthYear:p,formatYear:g,locale:y,maxDate:j,minDate:C,navigationAriaLabel:E,navigationAriaLive:P,navigationLabel:A,next2AriaLabel:O,next2Label:I,nextAriaLabel:D,nextLabel:F,prev2AriaLabel:K,prev2Label:q,prevAriaLabel:$,prevLabel:Z,setActiveStartDate:De,showDoubleView:Q,view:Te,views:Ee}):null,(0,Ve.jsxs)("div",{className:"".concat(jv,"__viewContainer"),onBlur:J?Be:void 0,onMouseLeave:J?Be:void 0,children:[Ue(),Q?Ue(!0):null]})]})});const zv=Lv,Bv=()=>{var t,n,r;const a=he(),s=p((0,e.useState)({}),2),i=s[0],o=s[1],c=p((0,e.useState)(new Date),2),d=c[0],u=c[1],h=p((0,e.useState)(""),2),m=(h[0],h[1]),f=e=>{let t=e.text,n=e.codeKey;return(0,Ve.jsx)("button",{onClick:()=>((e,t)=>{navigator.clipboard.writeText(e).then(()=>{o(e=>l(l({},e),{},{[t]:!0})),setTimeout(()=>o(e=>l(l({},e),{},{[t]:!1})),2e3)})})(t,n),className:"absolute top-4 right-4 p-2 bg-white bg-opacity-20 rounded-lg shadow-lg hover:bg-opacity-30",title:"Copy to clipboard",children:i[n]?(0,Ve.jsx)(Le,{size:20}):(0,Ve.jsx)(ze,{size:20})})};(0,e.useEffect)(()=>{m('')},[d]);return(0,Ve.jsxs)(Ge,{children:[(0,Ve.jsx)("nav",{className:"mb-8 flex items-center justify-between relative z-10",children:(0,Ve.jsxs)("button",{onClick:()=>{a("/components")},className:"flex items-center p-2 bg-white bg-opacity-20 rounded-lg shadow-lg hover:bg-opacity-30",children:[(0,Ve.jsx)(Be,{size:20,className:"mr-2"}),"Back to Components"]})}),(0,Ve.jsx)("h1",{className:"text-6xl font-bold mb-8 text-white relative z-10",children:"Calendar Component"}),(0,Ve.jsx)("p",{className:"text-xl mb-8 text-gray-100 ",children:"A customizable calendar component for date selection."}),(0,Ve.jsxs)("section",{className:"p-6 mb-14 bg-white bg-opacity-20 rounded-lg shadow-lg relative",children:[(0,Ve.jsx)("h2",{className:"text-3xl font-bold mb-4 text-gray-100",children:"Props"}),(0,Ve.jsx)("div",{className:"overflow-x-auto",children:(0,Ve.jsxs)("table",{className:"w-full",children:[(0,Ve.jsx)("thead",{children:(0,Ve.jsxs)("tr",{className:"bg-white bg-opacity-20",children:[(0,Ve.jsx)("th",{className:"text-left p-2",children:"Prop"}),(0,Ve.jsx)("th",{className:"text-left p-2",children:"Type"}),(0,Ve.jsx)("th",{className:"text-left p-2",children:"Default"}),(0,Ve.jsx)("th",{className:"text-left p-2",children:"Description"})]})}),(0,Ve.jsxs)("tbody",{children:[(0,Ve.jsxs)("tr",{children:[(0,Ve.jsx)("td",{className:"p-2",children:"className"}),(0,Ve.jsx)("td",{className:"p-2",children:"string"}),(0,Ve.jsx)("td",{className:"p-2",children:"''"}),(0,Ve.jsx)("td",{className:"p-2",children:"Additional CSS classes for styling"})]}),(0,Ve.jsxs)("tr",{className:"bg-white bg-opacity-10",children:[(0,Ve.jsx)("td",{className:"p-2",children:"onChange"}),(0,Ve.jsx)("td",{className:"p-2",children:"(date: Date | [Date, Date] | null) => void"}),(0,Ve.jsx)("td",{className:"p-2",children:"-"}),(0,Ve.jsx)("td",{className:"p-2",children:"Callback function triggered when the date changes"})]}),(0,Ve.jsxs)("tr",{children:[(0,Ve.jsx)("td",{className:"p-2",children:"value"}),(0,Ve.jsx)("td",{className:"p-2",children:"Date | [Date, Date] | null"}),(0,Ve.jsx)("td",{className:"p-2",children:"new Date()"}),(0,Ve.jsx)("td",{className:"p-2",children:"The currently selected date(s)"})]}),(0,Ve.jsxs)("tr",{className:"bg-white bg-opacity-10",children:[(0,Ve.jsx)("td",{className:"p-2",children:"view"}),(0,Ve.jsx)("td",{className:"p-2",children:"string"}),(0,Ve.jsx)("td",{className:"p-2",children:"month"}),(0,Ve.jsx)("td",{className:"p-2",children:"The view to show: month, year, decade"})]})]})]})})]}),(0,Ve.jsxs)("section",{className:"".concat(vo()," p-6 mb-14 relative"),children:[(0,Ve.jsx)("h2",{className:"text-3xl font-bold mb-6 text-white",children:"Calendar Component Example"}),(0,Ve.jsxs)("div",{className:"flex flex-col lg:flex-row gap-8",children:[(0,Ve.jsxs)("div",{className:"p-4 bg-white bg-opacity-10 rounded-lg mb-4",children:[(0,Ve.jsxs)("h2",{className:"mt-4 mb-4 font-bold flex justify-center text-xl text-blue-200",children:["Selected Date:"," ",Array.isArray(d)?"".concat(null===(t=d[0])||void 0===t?void 0:t.toLocaleDateString()," to ").concat(null===(n=d[1])||void 0===n?void 0:n.toLocaleDateString()):null!==(r=null===d||void 0===d?void 0:d.toLocaleDateString())&&void 0!==r?r:"No date selected"]}),(0,Ve.jsx)(zv,{onChange:e=>{if(Array.isArray(e)){const t=e[0]instanceof Date?e[0]:null,n=e[1]instanceof Date?e[1]:null;u(t&&n?[t,n]:null)}else e instanceof Date&&u(e)},value:d,view:"month",className:"custom-calendar"})]}),(0,Ve.jsxs)("div",{className:"lg:w-2/3",children:[(0,Ve.jsx)("h3",{className:"text-xl font-semibold mb-4 text-white",children:"Code"}),(0,Ve.jsxs)("div",{className:"relative",children:[(0,Ve.jsx)("pre",{className:"bg-gray-800 text-white p-4 rounded-lg overflow-x-auto text-sm max-h-[480px] whitespace-pre-wrap break-words",children:(0,Ve.jsx)("code",{children:'const CalendarExample: React.FC = () => {\n const [date, setDate] = useState(new Date());\n\n const handleDateChange: CalendarProps[\'onChange\'] = (newDate) => {\n if (Array.isArray(newDate)) {\n const startDate = newDate[0] instanceof Date ? newDate[0] : null;\n const endDate = newDate[1] instanceof Date ? newDate[1] : null;\n setDate(startDate && endDate ? [startDate, endDate] : null);\n } else if (newDate instanceof Date) {\n setDate(newDate);\n }\n };\n\n return (\n \n );\n};'})}),(0,Ve.jsx)(f,{text:'const CalendarExample: React.FC = () => {\n const [date, setDate] = useState(new Date());\n\n const handleDateChange: CalendarProps[\'onChange\'] = (newDate) => {\n if (Array.isArray(newDate)) {\n const startDate = newDate[0] instanceof Date ? newDate[0] : null;\n const endDate = newDate[1] instanceof Date ? newDate[1] : null;\n setDate(startDate && endDate ? [startDate, endDate] : null);\n } else if (newDate instanceof Date) {\n setDate(newDate);\n }\n };\n\n return (\n \n );\n};',codeKey:"CalendarExample"})]})]})]})]}),(0,Ve.jsx)("style",{children:"\n .custom-calendar {\n width: 100%;\n max-width: 400px;\n background: transparent;\n border: none;\n border-radius: 10px;\n font-family: 'Arial', sans-serif;\n box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);\n }\n\n .react-calendar__month-view {\n padding: 20px;\n display: flex;\n justify-content: center; /* Center calendar */\n align-items: center; /* Center vertically */\n }\n\n .react-calendar__tile {\n background: linear-gradient(\n 145deg,\n rgba(255, 255, 255, 0.2),\n rgba(255, 255, 255, 0.1)\n );\n margin: 2px;\n transition:\n background 0.3s ease,\n transform 0.2s ease;\n display: flex;\n justify-content: center; /* Center text */\n align-items: center; /* Center text vertically */\n height: 60px; /* Set height for tiles */\n width: 60px; /* Set width for tiles */\n }\n\n .react-calendar__tile:hover {\n background: rgba(255, 255, 255, 0.4);\n transform: scale(1.05); /* Slightly scale up on hover */\n }\n\n .react-calendar__tile--active {\n background: rgba(0, 255, 0, 0.5); /* Active tile color */\n }\n\n .react-calendar__tile--now {\n border: 2px solid #00ff00; /* Highlight today with a green border */\n }\n\n .react-calendar__month-view__days__day {\n color: white; /* Change day text color */\n font-size: 1.25rem; /* Increase font size */\n }\n\n /* Styling for day labels */\n .react-calendar__month-view__days__day__label {\n color: rgba(255, 255, 255, 0.7); /* Lighter color for day labels */\n }\n "})]})},Uv=()=>(0,Ve.jsx)("div",{children:"Checkbox"}),Vv=()=>{const t=he(),n=p((0,e.useState)({}),2),r=n[0],a=n[1],s=function(){return"backdrop-filter backdrop-blur-lg bg-white bg-opacity-".concat(arguments.length>0&&void 0!==arguments[0]?arguments[0]:5," \n border border-white border-opacity-20 rounded-lg shadow-lg transition-all duration-300")},i=e=>{let t=e.text,n=e.codeKey;return(0,Ve.jsx)("button",{onClick:()=>((e,t)=>{navigator.clipboard.writeText(e).then(()=>{a(e=>l(l({},e),{},{[t]:!0})),setTimeout(()=>a(e=>l(l({},e),{},{[t]:!1})),2e3)})})(t,n),className:"absolute top-2 right-2 ".concat(s()," p-2 hover:bg-white/40 transition-all duration-300 z-10"),title:"Copy to clipboard",children:r[n]?(0,Ve.jsx)(Le,{size:16,className:"text-green-600"}):(0,Ve.jsx)(ze,{size:16,className:"text-white"})})},o='\n const statsData = [\n {\n iconColor: "text-red-400",\n iconPath1: "M8 17l4 4 4-4m-4-5v9",\n iconPath2: "M20.88 18.09A5 5 0 0018 9h-1.26A8 8 0 103 16.29",\n number: "2.7K",\n label: "Downloads",\n },\n {\n iconColor: "text-red-400",\n iconPath1: "M17 21v-2a4 4 0 00-4-4H5a4 4 0 00-4 4v2",\n iconPath2: "M23 21v-2a4 4 0 00-3-3.87m-4-12a4 4 0 010 7.75",\n number: "1.3K",\n label: "Users",\n },\n {\n iconColor: "text-red-400",\n iconPath1: "M3 18v-6a9 9 0 0118 0v6",\n iconPath2: "M21 19a2 2 0 01-2 2h-1a2 2 0 01-2-2v-3a2 2 0 012-2h3zM3 19a2 2 0 002 2h1a2 2 0 002-2v-3a2 2 0 00-2-2H3z",\n number: "74",\n label: "Files",\n },\n {\n iconColor: "text-red-400",\n iconPath1: "M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z",\n number: "46",\n label: "Places",\n },\n ];\n ',c='\n const getGlassyClasses = (opacity = 5) => { return `backdrop-filter backdrop-blur-lg bg-white bg-opacity-${opacity} border border-white border-opacity-20 rounded-lg shadow-lg transition-all duration-300`; };\n\n
\n
\n
\n {statsData.map((stat, index) => (\n
\n
\n \n \n {stat.iconPath2 && }\n \n

\n {stat.number}\n

\n

{stat.label}

\n
\n
\n ))}\n
\n
\n
\n ';return(0,Ve.jsxs)(Ge,{children:[(0,Ve.jsxs)("button",{onClick:()=>t(-1),className:"mb-8 flex items-center ".concat(s(10)," px-4 py-2 hover:bg-white/40 transition-all duration-300 text-gray-300"),children:[(0,Ve.jsx)(Be,{size:20,className:"mr-2"}),"Back to Components"]}),(0,Ve.jsx)("h1",{className:"text-6xl font-bold mb-8 text-white",children:"Statistic Component"}),(0,Ve.jsx)("p",{className:"text-xl mb-8 text-white",children:"A simple component to display user statistic."}),(0,Ve.jsxs)("div",{className:"".concat(s()," p-6 mb-14 relative"),children:[(0,Ve.jsx)("h2",{className:"text-3xl font-bold mb-6 text-white",children:"Basic Usage"}),(0,Ve.jsxs)("div",{className:"relative",children:[(0,Ve.jsx)("pre",{className:"bg-gray-800 text-white p-6 rounded-lg overflow-x-auto whitespace-pre-wrap max-sm:text-[0.55rem]",children:c}),(0,Ve.jsx)(i,{text:c,codeKey:"statistic"})]})]}),(0,Ve.jsxs)("div",{className:"".concat(s()," p-6 mb-14"),children:[(0,Ve.jsx)("h2",{className:"text-3xl font-bold mb-6 text-white",children:"Props"}),(0,Ve.jsx)("div",{className:"overflow-x-auto",children:(0,Ve.jsxs)("table",{className:"w-full",children:[(0,Ve.jsx)("thead",{children:(0,Ve.jsxs)("tr",{className:"bg-white bg-opacity-20",children:[(0,Ve.jsx)("th",{className:"text-left p-2 text-gray-300",children:"Prop"}),(0,Ve.jsx)("th",{className:"text-left p-2 text-gray-300",children:"Type"}),(0,Ve.jsx)("th",{className:"text-left p-2 text-gray-300",children:"Default"}),(0,Ve.jsx)("th",{className:"text-left p-2 text-gray-300",children:"Description"})]})}),(0,Ve.jsxs)("tbody",{children:[(0,Ve.jsxs)("tr",{children:[(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"downloads"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"number"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"2700"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"The number of downloads to display"})]}),(0,Ve.jsxs)("tr",{className:"bg-white bg-opacity-10",children:[(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"users"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"number"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"1300"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"The number of users to display"})]}),(0,Ve.jsxs)("tr",{children:[(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"files"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"number"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"74"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"The number of files to display"})]}),(0,Ve.jsxs)("tr",{className:"bg-white bg-opacity-10",children:[(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"places"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"number"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"46"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"The number of places to display"})]})]})]})})]}),(0,Ve.jsxs)("div",{className:"".concat(s()," p-6 mb-14 relative"),children:[(0,Ve.jsx)("h2",{className:"text-3xl font-bold mb-6 text-white",children:"Example Props Array"}),(0,Ve.jsxs)("div",{className:"relative",children:[(0,Ve.jsx)("pre",{className:"bg-gray-800 text-white p-6 rounded-lg overflow-x-auto whitespace-pre-wrap max-sm:text-[0.55rem]",children:o}),(0,Ve.jsx)(i,{text:o,codeKey:"props"})]})]}),(0,Ve.jsxs)("section",{className:"".concat(s()," p-6 mb-14"),children:[(0,Ve.jsx)("h2",{className:"text-2xl font-bold mb-4 text-white",children:"Statistic Example"}),(0,Ve.jsx)("section",{className:"".concat(s()," p-6 mb-14"),children:(0,Ve.jsx)("div",{className:"container px-5 py-24 mx-auto",children:(0,Ve.jsx)("div",{className:"flex flex-wrap -m-4 text-center",children:[{iconColor:"text-red-400",iconPath1:"M8 17l4 4 4-4m-4-5v9",iconPath2:"M20.88 18.09A5 5 0 0018 9h-1.26A8 8 0 103 16.29",number:"2.7K",label:"Downloads"},{iconColor:"text-red-400",iconPath1:"M17 21v-2a4 4 0 00-4-4H5a4 4 0 00-4 4v2",iconPath2:"M23 21v-2a4 4 0 00-3-3.87m-4-12a4 4 0 010 7.75",number:"1.3K",label:"Users"},{iconColor:"text-red-400",iconPath1:"M3 18v-6a9 9 0 0118 0v6",iconPath2:"M21 19a2 2 0 01-2 2h-1a2 2 0 01-2-2v-3a2 2 0 012-2h3zM3 19a2 2 0 002 2h1a2 2 0 002-2v-3a2 2 0 00-2-2H3z",number:"74",label:"Files"},{iconColor:"text-red-400",iconPath1:"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z",number:"46",label:"Places"}].map((e,t)=>(0,Ve.jsx)("div",{className:"p-4 md:w-1/4 sm:w-1/2 w-full cursor-pointer",children:(0,Ve.jsxs)("div",{className:"border-2 border-gray-300 px-4 py-6 rounded-lg",children:[(0,Ve.jsxs)("svg",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",className:"".concat(e.iconColor," w-12 h-12 mb-3 inline-block"),viewBox:"0 0 24 24",children:[(0,Ve.jsx)("path",{d:e.iconPath1}),e.iconPath2&&(0,Ve.jsx)("path",{d:e.iconPath2})]}),(0,Ve.jsx)("h2",{className:"title-font font-medium text-3xl text-white",children:e.number}),(0,Ve.jsx)("p",{className:"leading-relaxed",children:e.label})]})},t))})})})]})]})},Wv=()=>{const t=he(),n=p((0,e.useState)({}),2),r=n[0],a=n[1],s=function(){return"backdrop-filter backdrop-blur-lg bg-white bg-opacity-".concat(arguments.length>0&&void 0!==arguments[0]?arguments[0]:20," \n border border-white border-opacity-20 rounded-lg shadow-lg transition-all duration-300")},i=e=>{let t=e.text,n=e.codeKey;return(0,Ve.jsx)("button",{onClick:()=>((e,t)=>{navigator.clipboard.writeText(e).then(()=>{a(e=>l(l({},e),{},{[t]:!0})),setTimeout(()=>a(e=>l(l({},e),{},{[t]:!1})),2e3)})})(t,n),className:"absolute top-2 right-2 ".concat(s()," p-2 hover:bg-white/40 transition-all duration-300 z-10"),title:"Copy to clipboard",children:r[n]?(0,Ve.jsx)(Le,{size:16,className:"text-green-600"}):(0,Ve.jsx)(ze,{size:16,className:"text-white"})})},o=[{src:"https://images.pexels.com/photos/248159/pexels-photo-248159.jpeg",alt:"gallery1",extraClasses:"w-1/2"},{src:"https://images.pexels.com/photos/256381/pexels-photo-256381.jpeg?auto=compress&cs=tinysrgb&w=600",alt:"gallery2",extraClasses:"w-1/2"},{src:"https://images.pexels.com/photos/262347/pexels-photo-262347.jpeg?auto=compress&cs=tinysrgb&w=600",alt:"gallery3",extraClasses:"w-full h-[350px]"},{src:"https://images.pexels.com/photos/416528/pexels-photo-416528.jpeg?auto=compress&cs=tinysrgb&w=600",alt:"gallery4",extraClasses:"w-full h-[350px]"},{src:"https://images.pexels.com/photos/257699/pexels-photo-257699.jpeg?auto=compress&cs=tinysrgb&w=600",alt:"gallery5",extraClasses:"w-1/2 h-full"},{src:"https://images.pexels.com/photos/36487/above-adventure-aerial-air.jpg?auto=compress&cs=tinysrgb&w=600",alt:"gallery6",extraClasses:"w-1/2"}],c='\n const getGlassyClasses = (opacity = 20) => { return `backdrop-filter backdrop-blur-lg bg-white bg-opacity-${opacity} border border-white border-opacity-20 rounded-lg shadow-lg transition-all duration-300`; };\n\n const getImageClasses = () => { return `w-full object-cover object-center block rounded-[15px] transition-transform duration-300 hover:scale-105 cursor-pointer hover:shadow-lg`; };\n\n const images = [\n { src: "https://dummyimage.com/500x300", alt: "gallery1", extraClasses: "w-1/2" },\n { src: "https://dummyimage.com/501x301", alt: "gallery2", extraClasses: "w-1/2" },\n { src: "https://dummyimage.com/600x360", alt: "gallery3", extraClasses: "w-full h-[350px]" },\n { src: "https://dummyimage.com/601x361", alt: "gallery4", extraClasses: "w-full h-[350px]" },\n { src: "https://dummyimage.com/502x302", alt: "gallery5", extraClasses: "w-1/2 h-full" },\n { src: "https://dummyimage.com/503x303", alt: "gallery6", extraClasses: "w-1/2" },\n ];\n\n
\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n ");return(0,Ve.jsxs)(Ge,{children:[(0,Ve.jsxs)("button",{onClick:()=>t(-1),className:"mb-8 flex items-center ".concat(s(10)," px-4 py-2 hover:bg-white/40 transition-all duration-300 text-gray-300"),children:[(0,Ve.jsx)(Be,{size:20,className:"mr-2"}),"Back to Components"]}),(0,Ve.jsx)("h1",{className:"text-6xl font-bold mb-8 text-white",children:"Gallery"}),(0,Ve.jsx)("p",{className:"text-xl mb-8 text-white",children:"A simple gallery to display images in a grid layout."}),(0,Ve.jsxs)("div",{className:"".concat(s()," p-8 mb-8 relative"),children:[(0,Ve.jsx)("h2",{className:"text-3xl font-bold mb-6 text-white",children:"Basic Usage"}),(0,Ve.jsxs)("div",{className:"relative",children:[(0,Ve.jsx)("pre",{className:"bg-gray-800 text-white p-6 rounded-lg overflow-x-auto whitespace-pre-wrap max-sm:text-[0.55rem]",children:c}),(0,Ve.jsx)(i,{text:c,codeKey:"gallery"})]})]}),(0,Ve.jsxs)("div",{className:"".concat(s()," p-8 mb-8"),children:[(0,Ve.jsx)("h2",{className:"text-3xl font-bold mb-6 text-white",children:"Props"}),(0,Ve.jsx)("div",{className:"overflow-x-auto",children:(0,Ve.jsxs)("table",{className:"w-full",children:[(0,Ve.jsx)("thead",{children:(0,Ve.jsxs)("tr",{className:"bg-white bg-opacity-20",children:[(0,Ve.jsx)("th",{className:"text-left p-2 text-gray-300",children:"Prop"}),(0,Ve.jsx)("th",{className:"text-left p-2 text-gray-300",children:"Type"}),(0,Ve.jsx)("th",{className:"text-left p-2 text-gray-300",children:"Default"}),(0,Ve.jsx)("th",{className:"text-left p-2 text-gray-300",children:"Description"})]})}),(0,Ve.jsxs)("tbody",{children:[(0,Ve.jsxs)("tr",{children:[(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"images"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"array"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"[]"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"Array of image objects with `src` and `alt` properties"})]}),(0,Ve.jsxs)("tr",{className:"bg-white bg-opacity-10",children:[(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"className"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"string"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"-"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"Custom classes to style the gallery or images"})]}),(0,Ve.jsxs)("tr",{children:[(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"layout"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"string"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"two-column"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"Defines the layout of the gallery. Options could include two-column, three-column, or grid."})]}),(0,Ve.jsxs)("tr",{className:"bg-white bg-opacity-10",children:[(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"hoverEffect"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"boolean"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"true"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"Enables or disables hover effects on images (e.g., scaling, shadow)."})]}),(0,Ve.jsxs)("tr",{children:[(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"spacing"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"string"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"normal"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"Controls spacing between images. Options could include small, normal, large."})]}),(0,Ve.jsxs)("tr",{className:"bg-white bg-opacity-10",children:[(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"borderRadius"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"string"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"15px"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"Specifies the border radius for the images (e.g., 10px, 20px, 50%)."})]}),(0,Ve.jsxs)("tr",{children:[(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"containerClasses"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"string"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"-"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"Custom classes to apply to the gallery container."})]})]})]})})]}),(0,Ve.jsxs)("div",{className:"".concat(s()," p-8 mb-8"),children:[(0,Ve.jsx)("h2",{className:"text-3xl font-bold mb-6 text-white",children:"Gallery Example"}),(0,Ve.jsx)("p",{className:"mb-6 text-lg text-white",children:"Customize the gallery layout or image styles using custom CSS or Tailwind classes."}),(0,Ve.jsx)("section",{className:"".concat(s()," p-6 mb-14"),children:(0,Ve.jsx)("div",{className:"container p-5 mx-auto flex flex-wrap",children:(0,Ve.jsxs)("div",{className:"flex flex-wrap md:-m-4 -m-2 justify-evenly",children:[(0,Ve.jsxs)("div",{className:"flex flex-wrap w-[45%]",children:[(0,Ve.jsx)("div",{className:"md:p-4 p-1 w-1/2",children:(0,Ve.jsx)("img",{alt:o[0].alt,className:"".concat("w-full object-cover object-center block rounded-[15px] transition-transform duration-300 hover:scale-105 cursor-pointer hover:shadow-lg"," ").concat(o[0].extraClasses),src:o[0].src})}),(0,Ve.jsx)("div",{className:"md:p-4 p-1 w-1/2",children:(0,Ve.jsx)("img",{alt:o[1].alt,className:"".concat("w-full object-cover object-center block rounded-[15px] transition-transform duration-300 hover:scale-105 cursor-pointer hover:shadow-lg"," ").concat(o[1].extraClasses),src:o[1].src})}),(0,Ve.jsx)("div",{className:"md:p-4 p-1 w-full",children:(0,Ve.jsx)("img",{alt:o[2].alt,className:"".concat("w-full object-cover object-center block rounded-[15px] transition-transform duration-300 hover:scale-105 cursor-pointer hover:shadow-lg"," ").concat(o[2].extraClasses),src:o[2].src})})]}),(0,Ve.jsxs)("div",{className:"flex flex-wrap w-[45%]",children:[(0,Ve.jsx)("div",{className:"md:p-4 p-1 w-full",children:(0,Ve.jsx)("img",{alt:o[3].alt,className:"".concat("w-full object-cover object-center block rounded-[15px] transition-transform duration-300 hover:scale-105 cursor-pointer hover:shadow-lg"," ").concat(o[3].extraClasses),src:o[3].src})}),(0,Ve.jsx)("div",{className:"md:p-4 p-1 w-1/2",children:(0,Ve.jsx)("img",{alt:o[4].alt,className:"".concat("w-full object-cover object-center block rounded-[15px] transition-transform duration-300 hover:scale-105 cursor-pointer hover:shadow-lg"," ").concat(o[4].extraClasses),src:o[4].src})}),(0,Ve.jsx)("div",{className:"md:p-4 p-1 w-1/2",children:(0,Ve.jsx)("img",{alt:o[5].alt,className:"".concat("w-full object-cover object-center block rounded-[15px] transition-transform duration-300 hover:scale-105 cursor-pointer hover:shadow-lg"," ").concat(o[5].extraClasses),src:o[5].src})})]})]})})})]})]})},Hv=()=>{const t=he(),n=p((0,e.useState)({}),2),r=n[0],a=n[1],s=p((0,e.useState)("#833AB4"),2),i=s[0],o=s[1],c=p((0,e.useState)("40"),2),d=c[0],u=c[1],h=p((0,e.useState)("4"),2),m=h[0],f=h[1],g=function(){return"backdrop-filter backdrop-blur-lg bg-white bg-opacity-".concat(arguments.length>0&&void 0!==arguments[0]?arguments[0]:20," \n border border-white border-opacity-20 rounded-lg shadow-lg transition-all duration-300")},x=e=>{let t=e.text,n=e.codeKey;return(0,Ve.jsx)("button",{onClick:()=>((e,t)=>{navigator.clipboard.writeText(e).then(()=>{a(e=>l(l({},e),{},{[t]:!0})),setTimeout(()=>a(e=>l(l({},e),{},{[t]:!1})),2e3)})})(t,n),className:"absolute top-2 right-2 ".concat(g()," p-2 hover:bg-white/40 transition-all duration-300 z-10"),title:"Copy to clipboard",children:r[n]?(0,Ve.jsx)(Le,{size:16,className:"text-white"}):(0,Ve.jsx)(ze,{size:16,className:"text-white"})})},v='const Spinner: React.FC = () => (\n
\n);',b=""),y='';return(0,Ve.jsxs)(Ge,{children:[(0,Ve.jsxs)("button",{onClick:()=>t(-1),className:"mb-8 flex items-center ".concat(g(10)," px-4 py-2 hover:bg-white/40 transition-all duration-300 text-white"),children:[(0,Ve.jsx)(Be,{size:20,className:"mr-2"}),"Back to Components"]}),(0,Ve.jsx)("h1",{className:"text-6xl font-bold mb-8 text-white",children:"Spinner"}),(0,Ve.jsx)("p",{className:"text-xl mb-8 text-white",children:"A customizable, glassmorphism styled spinner component."}),(0,Ve.jsxs)("div",{className:"".concat(g()," p-6 mb-14 relative"),children:[(0,Ve.jsx)("h2",{className:"text-3xl font-bold mb-6 text-white",children:"Basic Usage"}),(0,Ve.jsxs)("div",{className:"relative",children:[(0,Ve.jsx)("pre",{className:"bg-gray-800 text-white p-6 rounded-lg overflow-x-auto whitespace-pre-wrap max-sm:text-[0.55rem]",children:v}),(0,Ve.jsx)(x,{text:v,codeKey:"basicUsage"})]})]}),(0,Ve.jsxs)("div",{className:"".concat(g()," p-6 mb-14"),children:[(0,Ve.jsx)("h2",{className:"text-3xl font-bold mb-6 text-white",children:"Props"}),(0,Ve.jsx)("div",{className:"overflow-x-auto",children:(0,Ve.jsxs)("table",{className:"w-full",children:[(0,Ve.jsx)("thead",{children:(0,Ve.jsxs)("tr",{className:"bg-white bg-opacity-20",children:[(0,Ve.jsx)("th",{className:"text-left p-2 text-white",children:"Prop"}),(0,Ve.jsx)("th",{className:"text-left p-2 text-white",children:"Type"}),(0,Ve.jsx)("th",{className:"text-left p-2 text-white",children:"Default"}),(0,Ve.jsx)("th",{className:"text-left p-2 text-white",children:"Description"})]})}),(0,Ve.jsxs)("tbody",{children:[(0,Ve.jsxs)("tr",{children:[(0,Ve.jsx)("td",{className:"p-2 text-white",children:"color"}),(0,Ve.jsx)("td",{className:"p-2 text-white",children:"string"}),(0,Ve.jsx)("td",{className:"p-2 text-white",children:"-"}),(0,Ve.jsx)("td",{className:"p-2 text-white",children:"The color of the spinner's border."})]}),(0,Ve.jsxs)("tr",{className:"bg-white bg-opacity-10",children:[(0,Ve.jsx)("td",{className:"p-2 text-white",children:"size"}),(0,Ve.jsx)("td",{className:"p-2 text-white",children:"string"}),(0,Ve.jsx)("td",{className:"p-2 text-white",children:"40"}),(0,Ve.jsx)("td",{className:"p-2 text-white",children:"The size (diameter) of the spinner in pixels."})]}),(0,Ve.jsxs)("tr",{children:[(0,Ve.jsx)("td",{className:"p-2 text-white",children:"borderWidth"}),(0,Ve.jsx)("td",{className:"p-2 text-white",children:"string"}),(0,Ve.jsx)("td",{className:"p-2 text-white",children:"4"}),(0,Ve.jsx)("td",{className:"p-2 text-white",children:"The width of the spinner's border in pixels."})]})]})]})})]}),(0,Ve.jsxs)("div",{className:"".concat(g()," p-6 mb-14"),children:[(0,Ve.jsx)("h2",{className:"text-3xl font-bold mb-6 text-white",children:"Themed Spinner"}),(0,Ve.jsx)("p",{className:"mb-6 text-lg text-white",children:"Customize your spinner's appearance by selecting a color, size, and border width."}),(0,Ve.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-6",children:[(0,Ve.jsxs)("div",{className:"".concat(g(10)," p-6"),children:[(0,Ve.jsx)("label",{className:"block mb-2 font-semibold text-lg text-white",children:"Color"}),(0,Ve.jsxs)("div",{className:"flex items-center",children:[(0,Ve.jsx)(Qe,{value:i,onChange:o}),(0,Ve.jsxs)("div",{className:"flex items-center border-b border-white/30 focus-within:border-white transition-colors",children:[(0,Ve.jsx)("span",{className:"text-white/50 font-mono text-sm pl-1",children:"#"}),(0,Ve.jsx)("input",{type:"text",value:i.replace("#",""),onChange:e=>{const t=e.target.value.replace(/[^0-9a-fA-F]/g,"");o("#".concat(t.slice(0,6)))},className:"bg-transparent w-20 py-1 px-1 text-white font-mono uppercase outline-none text-sm tracking-widest",placeholder:"FFFFFF",maxLength:6})]})]})]}),(0,Ve.jsxs)("div",{className:"".concat(g(10)," p-6"),children:[(0,Ve.jsx)("label",{className:"block mb-2 font-semibold text-lg text-white",children:"Size (px)"}),(0,Ve.jsx)("input",{type:"number",value:d,onChange:e=>u(e.target.value),className:"bg-transparent border-b border-gray-400 w-full py-1 px-2 text-white"})]}),(0,Ve.jsxs)("div",{className:"".concat(g(10)," p-6"),children:[(0,Ve.jsx)("label",{className:"block mb-2 font-semibold text-lg text-white",children:"Border Width (px)"}),(0,Ve.jsx)("input",{type:"number",value:m,onChange:e=>f(e.target.value),className:"bg-transparent border-b border-gray-400 w-full py-1 px-2 text-white"})]})]}),(0,Ve.jsxs)("div",{className:"relative mt-8",children:[(0,Ve.jsx)("div",{className:"mx-auto rounded-full animate-spin",style:{width:"".concat(d,"px"),height:"".concat(d,"px"),border:"".concat(m,"px solid ").concat(i),borderTopColor:"transparent"}}),(0,Ve.jsx)("pre",{className:"bg-gray-800 text-white p-6 rounded-lg mt-4 overflow-x-auto whitespace-pre-wrap max-sm:text-[0.55rem]",children:b}),(0,Ve.jsx)(x,{text:b,codeKey:"themedSpinner"})]})]}),(0,Ve.jsxs)("div",{className:"".concat(g()," p-6 mb-14"),children:[(0,Ve.jsx)("h2",{className:"text-3xl font-bold mb-6 text-white",children:"Full Width Spinner"}),(0,Ve.jsx)("p",{className:"mb-6 text-lg text-white",children:"For layouts that need the spinner to cover the entire width of the container."}),(0,Ve.jsxs)("div",{className:"relative",children:[(0,Ve.jsx)("div",{className:"w-full h-16 border-4 border-t-transparent border-white rounded-full animate-spin"}),(0,Ve.jsx)("pre",{className:"bg-gray-800 text-white p-6 rounded-lg mt-4 overflow-x-auto whitespace-pre-wrap max-sm:text-[0.55rem]",children:y}),(0,Ve.jsx)(x,{text:y,codeKey:"fullWidthSpinner"})]})]})]})},Gv=()=>{const t=he(),n=p((0,e.useState)({}),2),r=n[0],a=n[1],s=function(){return"backdrop-filter backdrop-blur-lg bg-white bg-opacity-".concat(arguments.length>0&&void 0!==arguments[0]?arguments[0]:5," \n border border-white border-opacity-20 rounded-lg shadow-lg transition-all duration-300")},i=e=>{let t=e.text,n=e.codeKey;return(0,Ve.jsx)("button",{onClick:()=>((e,t)=>{navigator.clipboard.writeText(e).then(()=>{a(e=>l(l({},e),{},{[t]:!0})),setTimeout(()=>a(e=>l(l({},e),{},{[t]:!1})),2e3)})})(t,n),className:"absolute top-2 right-2 ".concat(s()," p-2 hover:bg-white/40 transition-all duration-300 z-10"),title:"Copy to clipboard",children:r[n]?(0,Ve.jsx)(Le,{size:16,className:"text-green-600"}):(0,Ve.jsx)(ze,{size:16,className:"text-white"})})},o={star:(0,Ve.jsx)("svg",{fill:"currentColor",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",className:"w-4 h-4 text-blue-400",viewBox:"0 0 24 24",children:(0,Ve.jsx)("path",{d:"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z"})}),facebook:(0,Ve.jsx)("svg",{fill:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",className:"w-5 h-5",viewBox:"0 0 24 24",children:(0,Ve.jsx)("path",{d:"M18 2h-3a5 5 0 00-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 011-1h3z"})}),twitter:(0,Ve.jsx)("svg",{fill:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",className:"w-5 h-5",viewBox:"0 0 24 24",children:(0,Ve.jsx)("path",{d:"M23 3a10.9 10.9 0 01-3.14 1.53 4.48 4.48 0 00-7.86 3v1A10.66 10.66 0 013 4s-4 9 5 13a11.64 11.64 0 01-7 2c9 5 20 0 20-11.5a4.5 4.5 0 00-.08-.83A7.72 7.72 0 0023 3z"})}),chat:(0,Ve.jsx)("svg",{fill:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",className:"w-5 h-5",viewBox:"0 0 24 24",children:(0,Ve.jsx)("path",{d:"M21 11.5a8.38 8.38 0 01-.9 3.8 8.5 8.5 0 01-7.6 4.7 8.38 8.38 0 01-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 01-.9-3.8 8.5 8.5 0 014.7-7.6 8.38 8.38 0 013.8-.9h.5a8.48 8.48 0 018 8v.5z"})}),heart:(0,Ve.jsx)("svg",{fill:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",className:"w-5 h-5",viewBox:"0 0 24 24",children:(0,Ve.jsx)("path",{d:"M20.84 4.61a5.5 5.5 0 00-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 00-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 000-7.78v0z"})}),dropdownArrow:(0,Ve.jsx)("svg",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",className:"w-4 h-4",viewBox:"0 0 24 24",children:(0,Ve.jsx)("path",{d:"M6 9l6 6 6-6"})})},c='\n const getGlassyClasses = (opacity = 5) => { return `backdrop-filter backdrop-blur-lg bg-white bg-opacity-${opacity} border border-white border-opacity-20 rounded-lg shadow-lg transition-all duration-300`; };\n\n
\n
\n
\n ecommerce\n
\n

ASIAN

\n

Casual Sneakers Shoes For Men Mexico-11

\n
\n \n {Array(4).fill(svgs.star)}\n {svgs.star} {/* Non-filled star */}\n 15 Reviews\n \n \n {svgs.facebook}\n {svgs.twitter}\n {svgs.chat}\n \n
\n

These casual Mexico-11 sneakers offer ultimate comfort and style for your everyday use. Crafted with a breathable mesh upper and durable sole, they are perfect for walks, runs, or casual outings. The versatile grey color goes well with various outfits, making it a wardrobe staple.

\n
\n
\n Color\n \n \n \n
\n
\n Size\n
\n \n \n {svgs.dropdownArrow}\n \n
\n
\n
\n
\n
\n \u20b9846.00\n \u20b91499.00\n 43% off\n
\n \n \n
\n
\n
\n
\n
\n ',d='\n const svgs = {\n star: (\n \n \n \n ),\n facebook: (\n \n \n \n ),\n twitter: (\n \n \n \n ),\n chat: (\n \n \n \n ),\n heart: (\n \n \n \n ),\n dropdownArrow: (\n \n \n \n )\n };';return(0,Ve.jsxs)(Ge,{children:[(0,Ve.jsxs)("button",{onClick:()=>t(-1),className:"mb-8 flex items-center ".concat(s(10)," px-4 py-2 hover:bg-white/40 transition-all duration-300 text-gray-300"),children:[(0,Ve.jsx)(Be,{size:20,className:"mr-2"}),"Back to Components"]}),(0,Ve.jsx)("h1",{className:"text-6xl font-bold mb-8 text-white",children:"Product Card"}),(0,Ve.jsx)("p",{className:"text-xl mb-8 text-white",children:"A simple product card to showcase an item for sale."}),(0,Ve.jsxs)("div",{className:"".concat(s()," p-8 mb-8 relative"),children:[(0,Ve.jsx)("h2",{className:"text-3xl font-bold mb-6 text-white",children:"Basic Usage"}),(0,Ve.jsxs)("div",{className:"relative",children:[(0,Ve.jsx)("pre",{className:"bg-gray-800 text-white p-6 rounded-lg overflow-x-auto whitespace-pre-wrap max-sm:text-[0.55rem]",children:c}),(0,Ve.jsx)(i,{text:c,codeKey:"productCard"})]})]}),(0,Ve.jsxs)("div",{className:"".concat(s()," p-8 mb-8 relative"),children:[(0,Ve.jsx)("h2",{className:"text-3xl font-bold mb-6 text-white",children:"SVG's Used"}),(0,Ve.jsxs)("div",{className:"relative",children:[(0,Ve.jsx)("pre",{className:"bg-gray-800 text-white p-6 rounded-lg overflow-x-auto whitespace-pre-wrap max-sm:text-[0.55rem]",children:d}),(0,Ve.jsx)(i,{text:d,codeKey:"svgUsed"})]})]}),(0,Ve.jsxs)("div",{className:"".concat(s()," p-8 mb-8"),children:[(0,Ve.jsx)("h2",{className:"text-3xl font-bold mb-6 text-white",children:"Props"}),(0,Ve.jsx)("div",{className:"overflow-x-auto",children:(0,Ve.jsxs)("table",{className:"w-full",children:[(0,Ve.jsx)("thead",{children:(0,Ve.jsxs)("tr",{className:"bg-white bg-opacity-20",children:[(0,Ve.jsx)("th",{className:"text-left p-2 text-gray-300",children:"Prop"}),(0,Ve.jsx)("th",{className:"text-left p-2 text-gray-300",children:"Type"}),(0,Ve.jsx)("th",{className:"text-left p-2 text-gray-300",children:"Default"}),(0,Ve.jsx)("th",{className:"text-left p-2 text-gray-300",children:"Description"})]})}),(0,Ve.jsxs)("tbody",{children:[(0,Ve.jsxs)("tr",{children:[(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"product"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"object"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"-"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"An object containing product details such as name, original price, discounted price, and discount percentage."})]}),(0,Ve.jsxs)("tr",{children:[(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"product.name"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"string"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"-"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"The name of the product."})]}),(0,Ve.jsxs)("tr",{children:[(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"product.originalPrice"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"number"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"-"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"The original price of the product before discount."})]}),(0,Ve.jsxs)("tr",{children:[(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"product.discountedPrice"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"number"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"-"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"The price after applying the discount."})]}),(0,Ve.jsxs)("tr",{children:[(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"product.discountPercentage"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"number"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"-"}),(0,Ve.jsx)("td",{className:"p-2 text-gray-200",children:"The discount percentage applied to the product."})]})]})]})})]}),(0,Ve.jsxs)("div",{className:"".concat(s()," p-8 mb-8"),children:[(0,Ve.jsx)("h2",{className:"text-3xl font-bold mb-6 text-white",children:"Product Card Example"}),(0,Ve.jsx)("p",{className:"mb-6 text-lg text-white",children:"Customize the card's style through the className prop or inline styles."}),(0,Ve.jsx)("section",{className:"".concat(s()," p-6 mb-14 relative"),children:(0,Ve.jsx)("div",{className:"container px-5 py-16 mx-auto",children:(0,Ve.jsxs)("div",{className:"lg:w-full mx-auto flex flex-wrap",children:[(0,Ve.jsx)("img",{alt:"ecommerce",className:"lg:w-1/2 w-full h-[430px] object-cover object-top rounded-[25px]",src:"https://rukminim2.flixcart.com/image/416/416/xif0q/shoe/y/3/3/10-mexico-11-10-asian-lgrey-black-original-imah5agrpzsagpy2.jpeg?q=70&crop=false"}),(0,Ve.jsxs)("div",{className:"lg:w-1/2 w-full lg:pl-10 lg:py-6 mt-6 lg:mt-0",children:[(0,Ve.jsx)("h2",{className:"text-sm title-font text-gray-300 tracking-widest",children:"ASIAN"}),(0,Ve.jsx)("h1",{className:"text-white text-3xl title-font font-medium mb-1",children:"Casual Sneakers Shoes For Men Mexico-11"}),(0,Ve.jsxs)("div",{className:"flex mb-4",children:[(0,Ve.jsxs)("span",{className:"flex items-center",children:[Array(4).fill(o.star),o.star," ",(0,Ve.jsx)("span",{className:"ml-3",children:"15 Reviews"})]}),(0,Ve.jsxs)("span",{className:"flex ml-3 pl-3 py-2 border-l-2 border-[#535d6a] text-gray-500 space-x-2",children:[(0,Ve.jsx)("a",{children:o.facebook}),(0,Ve.jsx)("a",{children:o.twitter}),(0,Ve.jsx)("a",{children:o.chat})]})]}),(0,Ve.jsx)("p",{className:"leading-relaxed",children:"These casual Mexico-11 sneakers offer ultimate comfort and style for your everyday use. Crafted with a breathable mesh upper and durable sole, they are perfect for walks, runs, or casual outings. The versatile grey color goes well with various outfits, making it a wardrobe staple."}),(0,Ve.jsxs)("div",{className:"flex mt-6 items-center pb-5 border-b-2 border-[#535d6a] mb-5",children:[(0,Ve.jsxs)("div",{className:"flex",children:[(0,Ve.jsx)("span",{className:"mr-3 text-gray-300",children:"Color"}),(0,Ve.jsx)("button",{className:"border-2 border-[#535d6a] rounded-full w-6 h-6 focus:outline-none"}),(0,Ve.jsx)("button",{className:"border-2 border-[#535d6a] ml-1 bg-gray-700 rounded-full w-6 h-6 focus:outline-none"}),(0,Ve.jsx)("button",{className:"border-2 border-[#535d6a] ml-1 bg-blue-500 rounded-full w-6 h-6 focus:outline-none"})]}),(0,Ve.jsxs)("div",{className:"flex ml-6 items-center",children:[(0,Ve.jsx)("span",{className:"mr-3 text-gray-300",children:"Size"}),(0,Ve.jsxs)("div",{className:"relative",children:[(0,Ve.jsxs)("select",{className:"rounded border cursor-pointer bg-gray-300 text-black border-gray-700 focus:ring-2 focus:ring-blue-900 bg-transparent appearance-none py-2 focus:outline-none focus:border-blue-500 pl-3 pr-10",children:[(0,Ve.jsx)("option",{className:"bg-gray-300 cursor-pointer",children:"8"}),(0,Ve.jsx)("option",{className:"bg-gray-300 cursor-pointer",children:"9"}),(0,Ve.jsx)("option",{className:"bg-gray-300 cursor-pointer",children:"10"}),(0,Ve.jsx)("option",{className:"bg-gray-300 cursor-pointer",children:"11"})]}),(0,Ve.jsx)("span",{className:"absolute right-0 top-0 h-full w-10 text-center text-gray-600 pointer-events-none flex items-center justify-center",children:o.dropdownArrow})]})]})]}),(0,Ve.jsxs)("div",{className:"flex",children:[(0,Ve.jsxs)("div",{className:"flex items-center",children:[(0,Ve.jsx)("span",{className:"title-font font-medium text-2xl text-white",children:"\u20b9846.00"}),(0,Ve.jsx)("span",{className:"ml-4 text-gray-500 line-through text-lg",children:"\u20b91499.00"}),(0,Ve.jsx)("span",{className:"ml-4 text-green-500 text-lg",children:"43% off"})]}),(0,Ve.jsx)("button",{className:"flex ml-auto text-white bg-blue-500 border-0 py-2 px-6 focus:outline-none hover:bg-blue-600 rounded",children:"Add to Cart"}),(0,Ve.jsx)("button",{className:"rounded-full w-10 h-10 bg-gray-800 p-0 border-0 inline-flex items-center justify-center text-gray-500 ml-4",children:o.heart})]})]})]})})})]})]})},Kv=()=>{const t=p((0,e.useState)({fullName:"",phoneNumber:"",email:"",message:""}),2),n=t[0],r=t[1],a=e=>{r(l(l({},n),{},{[e.target.name]:e.target.value}))};return(0,Ve.jsxs)(Ge,{children:[(0,Ve.jsx)("div",{className:"lg:w-[45%] w-full h-[640px] flex justify-center items-center p-10 bg-opacity-40 bg-gray-900 backdrop-blur-xl rounded-3xl shadow-2xl border border-opacity-30 border-gray-300",children:(0,Ve.jsxs)("div",{className:"text-center text-white space-y-6",children:[(0,Ve.jsx)("h1",{className:"text-5xl font-extrabold tracking-tight text-transparent bg-clip-text bg-gradient-to-r from-blue-400 to-purple-500",children:"Welcome to GlassyUI-Components!"}),(0,Ve.jsx)("p",{className:"text-lg text-gray-200 leading-relaxed max-w-[80%] mx-auto",children:"This open-source library features stunning React components designed with a captivating glassmorphism effect, perfect for giving your web applications a modern and sleek design."}),(0,Ve.jsxs)("ul",{className:"space-y-2 text-gray-300",children:[(0,Ve.jsxs)("li",{children:[(0,Ve.jsx)("strong",{children:"Email:"})," contact@glassyui.com"]}),(0,Ve.jsxs)("li",{children:[(0,Ve.jsx)("strong",{children:"Phone:"})," +123-456-7890"]}),(0,Ve.jsxs)("li",{children:[(0,Ve.jsx)("strong",{children:"Website:"})," www.glassyui.com"]})]}),(0,Ve.jsxs)("div",{className:"mt-6 text-left max-w-[80%] mx-auto",children:[(0,Ve.jsx)("h3",{className:"text-2xl font-bold text-purple-300",children:"\u2728 Features"}),(0,Ve.jsxs)("ul",{className:"list-disc list-inside text-gray-400 mt-3 space-y-1",children:[(0,Ve.jsx)("li",{children:"Glassmorphism-themed React components"}),(0,Ve.jsx)("li",{children:"Customizable styles with SCSS"}),(0,Ve.jsx)("li",{children:"Beginner-friendly and easy to contribute"}),(0,Ve.jsx)("li",{children:"Modular and reusable components"})]})]})]})}),(0,Ve.jsxs)("div",{className:"lg:w-[45%] w-full p-10 bg-opacity-50 bg-gray-900 backdrop-blur-xl rounded-3xl shadow-2xl border border-opacity-20 border-gray-200",children:[(0,Ve.jsx)("h2",{className:"text-4xl font-extrabold mb-8 text-white tracking-wide text-center",children:"Contact Us"}),(0,Ve.jsxs)("form",{onSubmit:async e=>{e.preventDefault();try{if(!(await fetch("http://localhost:5000/api/contact/saveContact",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)})).ok)throw new Error("Something went wrong!");alert("Message Sent Successfully!"),r({fullName:"",phoneNumber:"",email:"",message:""})}catch(t){console.error(t),alert("Failed to send message. Please try again later.")}},className:"space-y-6",children:[(0,Ve.jsxs)("div",{className:"flex flex-col lg:flex-row gap-6",children:[(0,Ve.jsxs)("div",{className:"w-full",children:[(0,Ve.jsxs)("label",{className:"block text-gray-400 text-sm font-semibold mb-2",htmlFor:"name",children:["FULL NAME ",(0,Ve.jsx)("span",{className:"text-red-500",children:"*"})]}),(0,Ve.jsx)("input",{id:"fullName",name:"fullName",type:"text",placeholder:"Enter your name",className:"w-full p-4 rounded-lg bg-gray-800 text-white border-none transition-all duration-300 ease-in-out transform hover:bg-gray-700 focus:bg-gray-700",value:n.fullName,onChange:a,required:!0})]}),(0,Ve.jsxs)("div",{className:"w-full",children:[(0,Ve.jsxs)("label",{className:"block text-gray-400 text-sm font-semibold mb-2",htmlFor:"phone",children:["PHONE NUMBER ",(0,Ve.jsx)("span",{className:"text-red-500",children:"*"})]}),(0,Ve.jsx)("input",{id:"phoneNumber",name:"phoneNumber",type:"tel",placeholder:"Enter your number",className:"w-full p-4 rounded-lg bg-gray-800 text-white border-none transition-all duration-300 ease-in-out transform hover:bg-gray-700 focus:bg-gray-700",value:n.phoneNumber,onChange:a,required:!0})]})]}),(0,Ve.jsxs)("div",{className:"w-full",children:[(0,Ve.jsxs)("label",{className:"block text-gray-400 text-sm font-semibold mb-2",htmlFor:"email",children:["EMAIL ",(0,Ve.jsx)("span",{className:"text-red-500",children:"*"})]}),(0,Ve.jsx)("input",{id:"email",name:"email",type:"email",placeholder:"Enter your email",className:"w-full p-4 rounded-lg bg-gray-800 text-white border-none transition-all duration-300 ease-in-out transform hover:bg-gray-700 focus:bg-gray-700",value:n.email,onChange:a,required:!0})]}),(0,Ve.jsxs)("div",{children:[(0,Ve.jsxs)("label",{className:"block text-gray-400 text-sm font-semibold mb-2",htmlFor:"message",children:["MESSAGE ",(0,Ve.jsx)("span",{className:"text-red-500",children:"*"})]}),(0,Ve.jsx)("textarea",{id:"message",name:"message",placeholder:"Enter your message",className:"w-full p-4 rounded-lg bg-gray-800 text-white h-36 resize-none border-none transition-all duration-300 ease-in-out transform hover:bg-gray-700 focus:bg-gray-700",value:n.message,onChange:a,required:!0})]}),(0,Ve.jsxs)("div",{className:"flex flex-col space-y-6",children:[(0,Ve.jsx)("div",{children:(0,Ve.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,Ve.jsx)("input",{type:"checkbox",id:"recaptcha",className:"w-5 h-5 accent-blue-600"}),(0,Ve.jsx)("label",{htmlFor:"recaptcha",className:"text-sm text-gray-400",children:"I'm not a robot"})]})}),(0,Ve.jsx)("button",{type:"submit",className:"bg-blue-600 text-white py-3 px-8 rounded-lg font-bold hover:bg-blue-700 transition duration-300 ease-in-out transform hover:scale-105 focus:outline-none",children:"Send Your Message"})]})]})]})]})},qv=(0,e.createContext)({});function $v(t){const n=(0,e.useRef)(null);return null===n.current&&(n.current=t()),n.current}const Zv=(0,e.createContext)(null),Yv=(0,e.createContext)({transformPagePoint:e=>e,isStatic:!1,reducedMotion:"never"});class Xv extends e.Component{getSnapshotBeforeUpdate(e){const t=this.props.childRef.current;if(t&&e.isPresent&&!this.props.isPresent){const e=this.props.sizeRef.current;e.height=t.offsetHeight||0,e.width=t.offsetWidth||0,e.top=t.offsetTop,e.left=t.offsetLeft}return null}componentDidUpdate(){}render(){return this.props.children}}function Jv(t){let n=t.children,r=t.isPresent;const a=(0,e.useId)(),s=(0,e.useRef)(null),i=(0,e.useRef)({width:0,height:0,top:0,left:0}),o=(0,e.useContext)(Yv).nonce;return(0,e.useInsertionEffect)(()=>{const e=i.current,t=e.width,n=e.height,l=e.top,c=e.left;if(r||!s.current||!t||!n)return;s.current.dataset.motionPopId=a;const d=document.createElement("style");return o&&(d.nonce=o),document.head.appendChild(d),d.sheet&&d.sheet.insertRule('\n [data-motion-pop-id="'.concat(a,'"] {\n position: absolute !important;\n width: ').concat(t,"px !important;\n height: ").concat(n,"px !important;\n top: ").concat(l,"px !important;\n left: ").concat(c,"px !important;\n }\n ")),()=>{document.head.removeChild(d)}},[r]),(0,Ve.jsx)(Xv,{isPresent:r,childRef:s,sizeRef:i,children:e.cloneElement(n,{ref:s})})}const Qv=t=>{let n=t.children,r=t.initial,a=t.isPresent,s=t.onExitComplete,i=t.custom,o=t.presenceAffectsLayout,l=t.mode;const c=$v(eb),d=(0,e.useId)(),u=(0,e.useCallback)(e=>{c.set(e,!0);for(const t of c.values())if(!t)return;s&&s()},[c,s]),h=(0,e.useMemo)(()=>({id:d,initial:r,isPresent:a,custom:i,onExitComplete:u,register:e=>(c.set(e,!1),()=>c.delete(e))}),o?[Math.random(),u]:[a,u]);return(0,e.useMemo)(()=>{c.forEach((e,t)=>c.set(t,!1))},[a]),e.useEffect(()=>{!a&&!c.size&&s&&s()},[a]),"popLayout"===l&&(n=(0,Ve.jsx)(Jv,{isPresent:a,children:n})),(0,Ve.jsx)(Zv.Provider,{value:h,children:n})};function eb(){return new Map}function tb(){let t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];const n=(0,e.useContext)(Zv);if(null===n)return[!0,null];const r=n.isPresent,a=n.onExitComplete,s=n.register,i=(0,e.useId)();(0,e.useEffect)(()=>{t&&s(i)},[t]);const o=(0,e.useCallback)(()=>t&&a&&a(i),[i,a,t]);return!r&&a?[!1,o]:[!0]}const nb=e=>e.key||"";function rb(t){const n=[];return e.Children.forEach(t,t=>{(0,e.isValidElement)(t)&&n.push(t)}),n}const ab="undefined"!==typeof window,sb=ab?e.useLayoutEffect:e.useEffect,ib=t=>{let n=t.children,r=t.custom,a=t.initial,s=void 0===a||a,i=t.onExitComplete,o=t.presenceAffectsLayout,l=void 0===o||o,c=t.mode,d=void 0===c?"sync":c,u=t.propagate,h=void 0!==u&&u;const m=p(tb(h),2),f=m[0],g=m[1],x=(0,e.useMemo)(()=>rb(n),[n]),v=h&&!f?[]:x.map(nb),b=(0,e.useRef)(!0),y=(0,e.useRef)(x),w=$v(()=>new Map),j=p((0,e.useState)(x),2),N=j[0],k=j[1],_=p((0,e.useState)(x),2),C=_[0],S=_[1];sb(()=>{b.current=!1,y.current=x;for(let e=0;e{const t=nb(e),n=!(h&&!f)&&(x===C||v.includes(t));return(0,Ve.jsx)(Qv,{isPresent:n,initial:!(b.current&&!s)&&void 0,custom:n?void 0:r,presenceAffectsLayout:l,mode:d,onExitComplete:n?void 0:()=>{if(!w.has(t))return;w.set(t,!0);let e=!0;w.forEach(t=>{t||(e=!1)}),e&&(null===E||void 0===E||E(),S(y.current),h&&(null===g||void 0===g||g()),i&&i())},children:e},t)})})};function ob(e){if("undefined"===typeof Proxy)return e;const t=new Map;return new Proxy(function(){return e(...arguments)},{get:(n,r)=>"create"===r?e:(t.has(r)||t.set(r,e(r)),t.get(r))})}function lb(e){return null!==e&&"object"===typeof e&&"function"===typeof e.start}const cb=e=>Array.isArray(e);function db(e,t){if(!Array.isArray(t))return!1;const n=t.length;if(n!==e.length)return!1;for(let r=0;r{t[0][n]=e.get(),t[1][n]=e.getVelocity()}),t}function pb(e,t,n,r){if("function"===typeof t){const a=p(hb(r),2),s=a[0],i=a[1];t=t(void 0!==n?n:e.custom,s,i)}if("string"===typeof t&&(t=e.variants&&e.variants[t]),"function"===typeof t){const a=p(hb(r),2),s=a[0],i=a[1];t=t(void 0!==n?n:e.custom,s,i)}return t}function mb(e,t,n){const r=e.getProps();return pb(r,t,void 0!==n?n:r.custom,e)}const fb=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],gb=["initial",...fb];function xb(e){let t;return()=>(void 0===t&&(t=e()),t)}const vb=xb(()=>void 0!==window.ScrollTimeline);class bb{constructor(e){this.stop=()=>this.runAll("stop"),this.animations=e.filter(Boolean)}get finished(){return Promise.all(this.animations.map(e=>"finished"in e?e.finished:e))}getAll(e){return this.animations[0][e]}setAll(e,t){for(let n=0;nvb()&&n.attachTimeline?n.attachTimeline(e):"function"===typeof t?t(n):void 0);return()=>{n.forEach((e,t)=>{e&&e(),this.animations[t].stop()})}}get time(){return this.getAll("time")}set time(e){this.setAll("time",e)}get speed(){return this.getAll("speed")}set speed(e){this.setAll("speed",e)}get startTime(){return this.getAll("startTime")}get duration(){let e=0;for(let t=0;tt[e]())}flatten(){this.runAll("flatten")}play(){this.runAll("play")}pause(){this.runAll("pause")}cancel(){this.runAll("cancel")}complete(){this.runAll("complete")}}class yb extends bb{then(e,t){return Promise.all(this.animations).then(e).catch(t)}}function wb(e,t){return e?e[t]||e.default||e:void 0}const jb=2e4;function Nb(e){let t=0;let n=e.next(t);for(;!n.done&&t=jb?1/0:t}function kb(e){return"function"===typeof e}function _b(e,t){e.timeline=t,e.onfinish=null}const Cb=e=>Array.isArray(e)&&"number"===typeof e[0],Sb={linearEasing:void 0};function Tb(e,t){const n=xb(e);return()=>{var e;return null!==(e=Sb[t])&&void 0!==e?e:n()}}const Eb=Tb(()=>{try{document.createElement("div").animate({opacity:0},{easing:"linear(0, 1)"})}catch(yS){return!1}return!0},"linearEasing"),Pb=(e,t,n)=>{const r=t-e;return 0===r?1:(n-e)/r},Ab=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10,r="";const a=Math.max(Math.round(t/n),2);for(let s=0;s{let t=p(e,4),n=t[0],r=t[1],a=t[2],s=t[3];return"cubic-bezier(".concat(n,", ").concat(r,", ").concat(a,", ").concat(s,")")},Db={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:Ib([0,.65,.55,1]),circOut:Ib([.55,0,1,.45]),backIn:Ib([.31,.01,.66,-.59]),backOut:Ib([.33,1.53,.69,.99])};function Fb(e,t){return e?"function"===typeof e&&Eb()?Ab(e,t):Cb(e)?Ib(e):Array.isArray(e)?e.map(e=>Fb(e,t)||Db.easeOut):Db[e]:void 0}const Rb={x:!1,y:!1};function Mb(){return Rb.x||Rb.y}function Lb(e,t){const n=function(e,t,n){var r;if(e instanceof Element)return[e];if("string"===typeof e){let a=document;t&&(a=t.current);const s=null!==(r=null===n||void 0===n?void 0:n[e])&&void 0!==r?r:a.querySelectorAll(e);return s?Array.from(s):[]}return Array.from(e)}(e),r=new AbortController;return[n,l(l({passive:!0},t),{},{signal:r.signal}),()=>r.abort()]}function zb(e){return t=>{"touch"===t.pointerType||Mb()||e(t)}}const Bb=(e,t)=>!!t&&(e===t||Bb(e,t.parentElement)),Ub=e=>"mouse"===e.pointerType?"number"!==typeof e.button||e.button<=0:!1!==e.isPrimary,Vb=new Set(["BUTTON","INPUT","SELECT","TEXTAREA","A"]);const Wb=new WeakSet;function Hb(e){return t=>{"Enter"===t.key&&e(t)}}function Gb(e,t){e.dispatchEvent(new PointerEvent("pointer"+t,{isPrimary:!0,bubbles:!0}))}function Kb(e){return Ub(e)&&!Mb()}function qb(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=p(Lb(e,n),3),a=r[0],s=r[1],i=r[2],o=e=>{const r=e.currentTarget;if(!Kb(e)||Wb.has(r))return;Wb.add(r);const a=t(e),i=(e,t)=>{window.removeEventListener("pointerup",o),window.removeEventListener("pointercancel",l),Kb(e)&&Wb.has(r)&&(Wb.delete(r),"function"===typeof a&&a(e,{success:t}))},o=e=>{i(e,n.useGlobalTarget||Bb(r,e.target))},l=e=>{i(e,!1)};window.addEventListener("pointerup",o,s),window.addEventListener("pointercancel",l,s)};return a.forEach(e=>{(function(e){return Vb.has(e.tagName)||-1!==e.tabIndex})(e)||null!==e.getAttribute("tabindex")||(e.tabIndex=0);(n.useGlobalTarget?window:e).addEventListener("pointerdown",o,s),e.addEventListener("focus",e=>((e,t)=>{const n=e.currentTarget;if(!n)return;const r=Hb(()=>{if(Wb.has(n))return;Gb(n,"down");const e=Hb(()=>{Gb(n,"up")});n.addEventListener("keyup",e,t),n.addEventListener("blur",()=>Gb(n,"cancel"),t)});n.addEventListener("keydown",r,t),n.addEventListener("blur",()=>n.removeEventListener("keydown",r),t)})(e,s),s)}),i}const $b=e=>1e3*e,Zb=e=>e/1e3,Yb=e=>e;const Xb=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],Jb=new Set(Xb),Qb=new Set(["width","height","top","left","right","bottom",...Xb]),ey=e=>cb(e)?e[e.length-1]||0:e,ty=!1,ny=!1;const ry=["read","resolveKeyframes","update","preRender","render","postRender"];function ay(e,t){let n=!1,r=!0;const a={delta:0,timestamp:0,isProcessing:!1},s=()=>n=!0,i=ry.reduce((e,t)=>(e[t]=function(e){let t=new Set,n=new Set,r=!1,a=!1;const s=new WeakSet;let i={delta:0,timestamp:0,isProcessing:!1};function o(t){s.has(t)&&(l.schedule(t),e()),t(i)}const l={schedule:function(e){const a=arguments.length>2&&void 0!==arguments[2]&&arguments[2]&&r?t:n;return arguments.length>1&&void 0!==arguments[1]&&arguments[1]&&s.add(e),a.has(e)||a.add(e),e},cancel:e=>{n.delete(e),s.delete(e)},process:e=>{if(i=e,r)a=!0;else{r=!0;var s=[n,t];t=s[0],n=s[1],t.forEach(o),t.clear(),r=!1,a&&(a=!1,l.process(e))}}};return l}(s),e),{}),o=i.read,l=i.resolveKeyframes,c=i.update,d=i.preRender,u=i.render,h=i.postRender,p=()=>{const s=ny?a.timestamp:performance.now();n=!1,a.delta=r?1e3/60:Math.max(Math.min(s-a.timestamp,40),1),a.timestamp=s,a.isProcessing=!0,o.process(a),l.process(a),c.process(a),d.process(a),u.process(a),h.process(a),a.isProcessing=!1,n&&t&&(r=!1,e(p))},m=ry.reduce((t,s)=>{const o=i[s];return t[s]=function(t){let s=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return n||(n=!0,r=!0,a.isProcessing||e(p)),o.schedule(t,s,i)},t},{});return{schedule:m,cancel:e=>{for(let t=0;t(void 0===dy&&hy.set(ly.isProcessing||ny?ly.timestamp:performance.now()),dy),set:e=>{dy=e,queueMicrotask(uy)}};function py(e,t){-1===e.indexOf(t)&&e.push(t)}function my(e,t){const n=e.indexOf(t);n>-1&&e.splice(n,1)}class fy{constructor(){this.subscriptions=[]}add(e){return py(this.subscriptions,e),()=>my(this.subscriptions,e)}notify(e,t,n){const r=this.subscriptions.length;if(r)if(1===r)this.subscriptions[0](e,t,n);else for(let a=0;a1&&void 0!==arguments[1]?arguments[1]:{};this.version="11.18.2",this.canTrackVelocity=null,this.events={},this.updateAndNotify=function(e){let n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];const r=hy.now();t.updatedAt!==r&&t.setPrevFrameValue(),t.prev=t.current,t.setCurrent(e),t.current!==t.prev&&t.events.change&&t.events.change.notify(t.current),n&&t.events.renderRequest&&t.events.renderRequest.notify(t.current)},this.hasAnimated=!1,this.setCurrent(e),this.owner=n.owner}setCurrent(e){var t;this.current=e,this.updatedAt=hy.now(),null===this.canTrackVelocity&&void 0!==e&&(this.canTrackVelocity=(t=this.current,!isNaN(parseFloat(t))))}setPrevFrameValue(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.current;this.prevFrameValue=e,this.prevUpdatedAt=this.updatedAt}onChange(e){return this.on("change",e)}on(e,t){this.events[e]||(this.events[e]=new fy);const n=this.events[e].add(t);return"change"===e?()=>{n(),iy.read(()=>{this.events.change.getSize()||this.stop()})}:n}clearListeners(){for(const e in this.events)this.events[e].clear()}attach(e,t){this.passiveEffect=e,this.stopPassiveEffect=t}set(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];t&&this.passiveEffect?this.passiveEffect(e,this.updateAndNotify):this.updateAndNotify(e,t)}setWithVelocity(e,t,n){this.set(t),this.prev=void 0,this.prevFrameValue=e,this.prevUpdatedAt=this.updatedAt-n}jump(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.updateAndNotify(e),this.prev=e,this.prevUpdatedAt=this.prevFrameValue=void 0,t&&this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}get(){return xy.current&&xy.current.push(this),this.current}getPrevious(){return this.prev}getVelocity(){const e=hy.now();if(!this.canTrackVelocity||void 0===this.prevFrameValue||e-this.updatedAt>30)return 0;const t=Math.min(this.updatedAt-this.prevUpdatedAt,30);return gy(parseFloat(this.current)-parseFloat(this.prevFrameValue),t)}start(e){return this.stop(),new Promise(t=>{this.hasAnimated=!0,this.animation=e(t),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.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}}function by(e,t){return new vy(e,t)}const yy=["transitionEnd","transition"];function wy(e,t,n){e.hasValue(t)?e.getValue(t).set(n):e.addValue(t,by(n))}const jy=e=>Boolean(e&&e.getVelocity);function Ny(e,t){const n=e.getValue("willChange");if(r=n,Boolean(jy(r)&&r.add))return n.add(t);var r}const ky=e=>e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase(),_y="data-"+ky("framerAppearId");function Cy(e){return e.props[_y]}const Sy=!1,Ty=(e,t,n)=>(((1-3*n+3*t)*e+(3*n-6*t))*e+3*t)*e;function Ey(e,t,n,r){if(e===t&&n===r)return Yb;const a=t=>function(e,t,n,r,a){let s,i,o=0;do{i=t+(n-t)/2,s=Ty(i,r,a)-e,s>0?n=i:t=i}while(Math.abs(s)>1e-7&&++o<12);return i}(t,0,1,e,n);return e=>0===e||1===e?e:Ty(a(e),t,r)}const Py=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,Ay=e=>t=>1-e(1-t),Oy=Ey(.33,1.53,.69,.99),Iy=Ay(Oy),Dy=Py(Iy),Fy=e=>(e*=2)<1?.5*Iy(e):.5*(2-Math.pow(2,-10*(e-1))),Ry=e=>1-Math.sin(Math.acos(e)),My=Ay(Ry),Ly=Py(Ry),zy=e=>/^0(?:[\0-\x08\x0E-\x1F!-\x2D\/-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+$/.test(e);function By(e){return"number"===typeof e?0===e:null===e||("none"===e||"0"===e||zy(e))}const Uy=(e,t,n)=>n>t?t:n"number"===typeof e,parse:parseFloat,transform:e=>e},Wy=l(l({},Vy),{},{transform:e=>Uy(0,1,e)}),Hy=l(l({},Vy),{},{default:1}),Gy=e=>Math.round(1e5*e)/1e5,Ky=/-?(?:[0-9]+(?:\.[0-9]+)?|\.[0-9]+)/g;const qy=/^(?:#[0-9a-f]{3,8}|(?:rgb|h[s\u017F]l)a?\((?:-?[\.0-9]+%?[\t-\r ,\xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]+){2}-?[\.0-9]+%?[\t-\r \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]*(?:[,\/][\t-\r \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]*)?(?:\b[0-9]+(?:\.[0-9]+)?|\.[0-9]+)?%?\))$/i,$y=(e,t)=>n=>Boolean("string"===typeof n&&qy.test(n)&&n.startsWith(e)||t&&!function(e){return null==e}(n)&&Object.prototype.hasOwnProperty.call(n,t)),Zy=(e,t,n)=>r=>{if("string"!==typeof r)return r;const a=p(r.match(Ky),4),s=a[0],i=a[1],o=a[2],l=a[3];return{[e]:parseFloat(s),[t]:parseFloat(i),[n]:parseFloat(o),alpha:void 0!==l?parseFloat(l):1}},Yy=l(l({},Vy),{},{transform:e=>Math.round((e=>Uy(0,255,e))(e))}),Xy={test:$y("rgb","red"),parse:Zy("red","green","blue"),transform:e=>{let t=e.red,n=e.green,r=e.blue,a=e.alpha,s=void 0===a?1:a;return"rgba("+Yy.transform(t)+", "+Yy.transform(n)+", "+Yy.transform(r)+", "+Gy(Wy.transform(s))+")"}};const Jy={test:$y("#"),parse:function(e){let t="",n="",r="",a="";return e.length>5?(t=e.substring(1,3),n=e.substring(3,5),r=e.substring(5,7),a=e.substring(7,9)):(t=e.substring(1,2),n=e.substring(2,3),r=e.substring(3,4),a=e.substring(4,5),t+=t,n+=n,r+=r,a+=a),{red:parseInt(t,16),green:parseInt(n,16),blue:parseInt(r,16),alpha:a?parseInt(a,16)/255:1}},transform:Xy.transform},Qy=e=>({test:t=>"string"===typeof t&&t.endsWith(e)&&1===t.split(" ").length,parse:parseFloat,transform:t=>"".concat(t).concat(e)}),ew=Qy("deg"),tw=Qy("%"),nw=Qy("px"),rw=Qy("vh"),aw=Qy("vw"),sw=l(l({},tw),{},{parse:e=>tw.parse(e)/100,transform:e=>tw.transform(100*e)}),iw={test:$y("hsl","hue"),parse:Zy("hue","saturation","lightness"),transform:e=>{let t=e.hue,n=e.saturation,r=e.lightness,a=e.alpha,s=void 0===a?1:a;return"hsla("+Math.round(t)+", "+tw.transform(Gy(n))+", "+tw.transform(Gy(r))+", "+Gy(Wy.transform(s))+")"}},ow={test:e=>Xy.test(e)||Jy.test(e)||iw.test(e),parse:e=>Xy.test(e)?Xy.parse(e):iw.test(e)?iw.parse(e):Jy.parse(e),transform:e=>"string"===typeof e?e:e.hasOwnProperty("red")?Xy.transform(e):iw.transform(e)},lw=/(?:#[0-9a-f]{3,8}|(?:rgb|h[s\u017F]l)a?\((?:-?[\.0-9]+%?[\t-\r ,\xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]+){2}-?[\.0-9]+%?[\t-\r \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]*(?:[,\/][\t-\r \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]*)?(?:\b[0-9]+(?:\.[0-9]+)?|\.[0-9]+)?%?\))/gi;const cw="number",dw="color",uw=/var[\t-\r \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]*\([\t-\r \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]*--(?:[\x2D0-9A-Z_a-z\u017F\u212A]+[\t-\r \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]*|[\x2D0-9A-Z_a-z\u017F\u212A]+[\t-\r \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]*,(?:[\t-\r \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]*(?:(?![\t-\r \(\)\xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uD800-\uDFFF\uFEFF])[^]|[\uD800-\uDBFF][\uDC00-\uDFFF])|[\t-\r \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]*\((?:(?:(?![\(\)\uD800-\uDFFF])[^]|[\uD800-\uDBFF][\uDC00-\uDFFF])|\((?:(?![\(\)\uD800-\uDFFF])[^]|[\uD800-\uDBFF][\uDC00-\uDFFF])*\))*\))+[\t-\r \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]*)\)|#[0-9a-f]{3,8}|(?:rgb|h[s\u017F]l)a?\((?:-?[\.0-9]+%?[\t-\r ,\xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]+){2}-?[\.0-9]+%?[\t-\r \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]*(?:[,\/][\t-\r \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]*)?(?:\b[0-9]+(?:\.[0-9]+)?|\.[0-9]+)?%?\)|-?(?:[0-9]+(?:\.[0-9]+)?|\.[0-9]+)/gi;function hw(e){const t=e.toString(),n=[],r={color:[],number:[],var:[]},a=[];let s=0;const i=t.replace(uw,e=>(ow.test(e)?(r.color.push(s),a.push(dw),n.push(ow.parse(e))):e.startsWith("var(")?(r.var.push(s),a.push("var"),n.push(e)):(r.number.push(s),a.push(cw),n.push(parseFloat(e))),++s,"${}")).split("${}");return{values:n,split:i,indexes:r,types:a}}function pw(e){return hw(e).values}function mw(e){const t=hw(e),n=t.split,r=t.types,a=n.length;return e=>{let t="";for(let s=0;s"number"===typeof e?0:e;const gw={test:function(e){var t,n;return isNaN(e)&&"string"===typeof e&&((null===(t=e.match(Ky))||void 0===t?void 0:t.length)||0)+((null===(n=e.match(lw))||void 0===n?void 0:n.length)||0)>0},parse:pw,createTransformer:mw,getAnimatableNone:function(e){const t=pw(e);return mw(e)(t.map(fw))}},xw=new Set(["brightness","contrast","saturate","opacity"]);function vw(e){const t=p(e.slice(0,-1).split("("),2),n=t[0],r=t[1];if("drop-shadow"===n)return e;const a=p(r.match(Ky)||[],1)[0];if(!a)return e;const s=r.replace(a,"");let i=xw.has(n)?1:0;return a!==r&&(i*=100),n+"("+i+s+")"}const bw=/\b([\x2Da-z]*)\((?:[\0-\t\x0B\f\x0E-\u2027\u202A-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*?\)/g,yw=l(l({},gw),{},{getAnimatableNone:e=>{const t=e.match(bw);return t?t.map(vw).join(" "):e}}),ww={borderWidth:nw,borderTopWidth:nw,borderRightWidth:nw,borderBottomWidth:nw,borderLeftWidth:nw,borderRadius:nw,radius:nw,borderTopLeftRadius:nw,borderTopRightRadius:nw,borderBottomRightRadius:nw,borderBottomLeftRadius:nw,width:nw,maxWidth:nw,height:nw,maxHeight:nw,top:nw,right:nw,bottom:nw,left:nw,padding:nw,paddingTop:nw,paddingRight:nw,paddingBottom:nw,paddingLeft:nw,margin:nw,marginTop:nw,marginRight:nw,marginBottom:nw,marginLeft:nw,backgroundPositionX:nw,backgroundPositionY:nw},jw={rotate:ew,rotateX:ew,rotateY:ew,rotateZ:ew,scale:Hy,scaleX:Hy,scaleY:Hy,scaleZ:Hy,skew:ew,skewX:ew,skewY:ew,distance:nw,translateX:nw,translateY:nw,translateZ:nw,x:nw,y:nw,z:nw,perspective:nw,transformPerspective:nw,opacity:Wy,originX:sw,originY:sw,originZ:nw},Nw=l(l({},Vy),{},{transform:Math.round}),kw=l(l(l({},ww),jw),{},{zIndex:Nw,size:nw,fillOpacity:Wy,strokeOpacity:Wy,numOctaves:Nw}),_w=l(l({},kw),{},{color:ow,backgroundColor:ow,outlineColor:ow,fill:ow,stroke:ow,borderColor:ow,borderTopColor:ow,borderRightColor:ow,borderBottomColor:ow,borderLeftColor:ow,filter:yw,WebkitFilter:yw}),Cw=e=>_w[e];function Sw(e,t){let n=Cw(e);return n!==yw&&(n=gw),n.getAnimatableNone?n.getAnimatableNone(t):void 0}const Tw=new Set(["auto","none","0"]);const Ew=e=>e===Vy||e===nw,Pw=(e,t)=>parseFloat(e.split(", ")[t]),Aw=(e,t)=>(n,r)=>{let a=r.transform;if("none"===a||!a)return 0;const s=a.match(/^matrix3d\(((?:[\0-\t\x0B\f\x0E-\u2027\u202A-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)\)$/);if(s)return Pw(s[1],t);{const t=a.match(/^matrix\(((?:[\0-\t\x0B\f\x0E-\u2027\u202A-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)\)$/);return t?Pw(t[1],e):0}},Ow=new Set(["x","y","z"]),Iw=Xb.filter(e=>!Ow.has(e));const Dw={width:(e,t)=>{let n=e.x,r=t.paddingLeft,a=void 0===r?"0":r,s=t.paddingRight,i=void 0===s?"0":s;return n.max-n.min-parseFloat(a)-parseFloat(i)},height:(e,t)=>{let n=e.y,r=t.paddingTop,a=void 0===r?"0":r,s=t.paddingBottom,i=void 0===s?"0":s;return n.max-n.min-parseFloat(a)-parseFloat(i)},top:(e,t)=>{let n=t.top;return parseFloat(n)},left:(e,t)=>{let n=t.left;return parseFloat(n)},bottom:(e,t)=>{let n=e.y,r=t.top;return parseFloat(r)+(n.max-n.min)},right:(e,t)=>{let n=e.x,r=t.left;return parseFloat(r)+(n.max-n.min)},x:Aw(4,13),y:Aw(5,14)};Dw.translateX=Dw.x,Dw.translateY=Dw.y;const Fw=new Set;let Rw=!1,Mw=!1;function Lw(){if(Mw){const e=Array.from(Fw).filter(e=>e.needsMeasurement),t=new Set(e.map(e=>e.element)),n=new Map;t.forEach(e=>{const t=function(e){const t=[];return Iw.forEach(n=>{const r=e.getValue(n);void 0!==r&&(t.push([n,r.get()]),r.set(n.startsWith("scale")?1:0))}),t}(e);t.length&&(n.set(e,t),e.render())}),e.forEach(e=>e.measureInitialState()),t.forEach(e=>{e.render();const t=n.get(e);t&&t.forEach(t=>{let n=p(t,2),r=n[0],a=n[1];var s;null===(s=e.getValue(r))||void 0===s||s.set(a)})}),e.forEach(e=>e.measureEndState()),e.forEach(e=>{void 0!==e.suspendedScrollY&&window.scrollTo(0,e.suspendedScrollY)})}Mw=!1,Rw=!1,Fw.forEach(e=>e.complete()),Fw.clear()}function zw(){Fw.forEach(e=>{e.readKeyframes(),e.needsMeasurement&&(Mw=!0)})}class Bw{constructor(e,t,n,r,a){let s=arguments.length>5&&void 0!==arguments[5]&&arguments[5];this.isComplete=!1,this.isAsync=!1,this.needsMeasurement=!1,this.isScheduled=!1,this.unresolvedKeyframes=[...e],this.onComplete=t,this.name=n,this.motionValue=r,this.element=a,this.isAsync=s}scheduleResolve(){this.isScheduled=!0,this.isAsync?(Fw.add(this),Rw||(Rw=!0,iy.read(zw),iy.resolveKeyframes(Lw))):(this.readKeyframes(),this.complete())}readKeyframes(){const e=this.unresolvedKeyframes,t=this.name,n=this.element,r=this.motionValue;for(let a=0;a/^-?(?:[0-9]+(?:\.[0-9]+)?|\.[0-9]+)$/.test(e),Hw=e=>t=>"string"===typeof t&&t.startsWith(e),Gw=Hw("--"),Kw=Hw("var(--"),qw=e=>!!Kw(e)&&$w.test(e.split("/*")[0].trim()),$w=/var\(--(?:[\x2D0-9A-Z_a-z\u017F\u212A]+[\t-\r \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]*|[\x2D0-9A-Z_a-z\u017F\u212A]+[\t-\r \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]*,(?:[\t-\r \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]*(?:(?![\t-\r \(\)\xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uD800-\uDFFF\uFEFF])[^]|[\uD800-\uDBFF][\uDC00-\uDFFF])|[\t-\r \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]*\((?:(?:(?![\(\)\uD800-\uDFFF])[^]|[\uD800-\uDBFF][\uDC00-\uDFFF])|\((?:(?![\(\)\uD800-\uDFFF])[^]|[\uD800-\uDBFF][\uDC00-\uDFFF])*\))*\))+[\t-\r \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]*)\)$/i,Zw=/^var\(--(?:([\x2D0-9A-Z_a-z]+)|([\x2D0-9A-Z_a-z]+), ?([ #%\(\),-\.0-9A-Za-z]+))\)/;function Yw(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;Vw(n<=4,'Max CSS variable fallback depth detected in property "'.concat(e,'". This may indicate a circular fallback dependency.'));const r=function(e){const t=Zw.exec(e);if(!t)return[,];const n=p(t,4),r=n[1],a=n[2],s=n[3];return["--".concat(null!==r&&void 0!==r?r:a),s]}(e),a=p(r,2),s=a[0],i=a[1];if(!s)return;const o=window.getComputedStyle(t).getPropertyValue(s);if(o){const e=o.trim();return Ww(e)?parseFloat(e):e}return qw(i)?Yw(i,t,n+1):i}const Xw=e=>t=>t.test(e),Jw=[Vy,nw,tw,ew,aw,rw,{test:e=>"auto"===e,parse:e=>e}],Qw=e=>Jw.find(Xw(e));class ej extends Bw{constructor(e,t,n,r,a){super(e,t,n,r,a,!0)}readKeyframes(){const e=this.unresolvedKeyframes,t=this.element,n=this.name;if(!t||!t.current)return;super.readKeyframes();for(let l=0;l{let n=p(e,2),r=n[0],a=n[1];t.getValue(r).set(a)}),this.resolveNoneKeyframes()}}const tj=(e,t)=>"zIndex"!==t&&(!("number"!==typeof e&&!Array.isArray(e))||!("string"!==typeof e||!gw.test(e)&&"0"!==e||e.startsWith("url(")));function nj(e,t,n,r){const a=e[0];if(null===a)return!1;if("display"===t||"visibility"===t)return!0;const s=e[e.length-1],i=tj(a,t),o=tj(s,t);return Uw(i===o,"You are trying to animate ".concat(t,' from "').concat(a,'" to "').concat(s,'". ').concat(a," is not an animatable value - to enable this animation set ").concat(a," to a value animatable to ").concat(s," via the `style` property.")),!(!i||!o)&&(function(e){const t=e[0];if(1===e.length)return!0;for(let n=0;nnull!==e;function aj(e,t,n){let r=t.repeat,a=t.repeatType,s=void 0===a?"loop":a;const i=e.filter(rj),o=r&&"loop"!==s&&r%2===1?0:i.length-1;return o&&void 0!==n?n:i[o]}const sj=["autoplay","delay","type","repeat","repeatDelay","repeatType"];class ij{constructor(e){let t=e.autoplay,n=void 0===t||t,r=e.delay,a=void 0===r?0:r,s=e.type,i=void 0===s?"keyframes":s,o=e.repeat,c=void 0===o?0:o,d=e.repeatDelay,u=void 0===d?0:d,h=e.repeatType,p=void 0===h?"loop":h,m=Ae(e,sj);this.isStopped=!1,this.hasAttemptedResolve=!1,this.createdAt=hy.now(),this.options=l({autoplay:n,delay:a,type:i,repeat:c,repeatDelay:u,repeatType:p},m),this.updateFinishedPromise()}calcStartTime(){return this.resolvedAt&&this.resolvedAt-this.createdAt>40?this.resolvedAt:this.createdAt}get resolved(){return this._resolved||this.hasAttemptedResolve||(zw(),Lw()),this._resolved}onKeyframesResolved(e,t){this.resolvedAt=hy.now(),this.hasAttemptedResolve=!0;const n=this.options,r=n.name,a=n.type,s=n.velocity,i=n.delay,o=n.onComplete,c=n.onUpdate;if(!n.isGenerator&&!nj(e,r,a,s)){if(Sy||!i)return c&&c(aj(e,this.options,t)),o&&o(),void this.resolveFinishedPromise();this.options.duration=0}const d=this.initPlayback(e,t);!1!==d&&(this._resolved=l({keyframes:e,finalKeyframe:t},d),this.onPostResolved())}onPostResolved(){}then(e,t){return this.currentFinishedPromise.then(e,t)}flatten(){this.options.type="keyframes",this.options.ease="linear"}updateFinishedPromise(){this.currentFinishedPromise=new Promise(e=>{this.resolveFinishedPromise=e})}}const oj=(e,t,n)=>e+(t-e)*n;function lj(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function cj(e,t){return n=>n>0?t:e}const dj=(e,t,n)=>{const r=e*e,a=n*(t*t-r)+r;return a<0?0:Math.sqrt(a)},uj=[Jy,Xy,iw];function hj(e){const t=(n=e,uj.find(e=>e.test(n)));var n;if(Uw(Boolean(t),"'".concat(e,"' is not an animatable color. Use the equivalent color code instead.")),!Boolean(t))return!1;let r=t.parse(e);return t===iw&&(r=function(e){let t=e.hue,n=e.saturation,r=e.lightness,a=e.alpha;t/=360,n/=100,r/=100;let s=0,i=0,o=0;if(n){const e=r<.5?r*(1+n):r+n-r*n,a=2*r-e;s=lj(a,e,t+1/3),i=lj(a,e,t),o=lj(a,e,t-1/3)}else s=i=o=r;return{red:Math.round(255*s),green:Math.round(255*i),blue:Math.round(255*o),alpha:a}}(r)),r}const pj=(e,t)=>{const n=hj(e),r=hj(t);if(!n||!r)return cj(e,t);const a=l({},n);return e=>(a.red=dj(n.red,r.red,e),a.green=dj(n.green,r.green,e),a.blue=dj(n.blue,r.blue,e),a.alpha=oj(n.alpha,r.alpha,e),Xy.transform(a))},mj=(e,t)=>n=>t(e(n)),fj=function(){for(var e=arguments.length,t=new Array(e),n=0;noj(e,t,n)}function vj(e){return"number"===typeof e?xj:"string"===typeof e?qw(e)?cj:ow.test(e)?pj:wj:Array.isArray(e)?bj:"object"===typeof e?ow.test(e)?pj:yj:cj}function bj(e,t){const n=[...e],r=n.length,a=e.map((e,n)=>vj(e)(e,t[n]));return e=>{for(let t=0;t{for(const t in r)n[t]=r[t](e);return n}}const wj=(e,t)=>{const n=gw.createTransformer(t),r=hw(e),a=hw(t);return r.indexes.var.length===a.indexes.var.length&&r.indexes.color.length===a.indexes.color.length&&r.indexes.number.length>=a.indexes.number.length?gj.has(e)&&!a.values.length||gj.has(t)&&!r.values.length?function(e,t){return gj.has(e)?n=>n<=0?e:t:n=>n>=1?t:e}(e,t):fj(bj(function(e,t){var n;const r=[],a={color:0,var:0,number:0};for(let s=0;s{const t=e*u,n=t*a,r=t-l,s=Bj(e,u),i=Math.exp(-n);return Mj-r/s*i},n=e=>{const n=e*u*a,r=n*l+l,s=Math.pow(u,2)*Math.pow(e,2)*a,i=Math.exp(-n),o=Bj(Math.pow(e,2),u);return(-t(e)+Mj>0?-1:1)*((r-s)*i)/o}):(t=e=>Math.exp(-e*a)*((e-l)*a+1)-.001,n=e=>Math.exp(-e*a)*(a*a*(l-e)));const h=function(e,t,n){let r=n;for(let a=1;avoid 0!==e[t])}function Hj(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Pj;const t="object"!==typeof e?{visualDuration:e,keyframes:[0,1],bounce:arguments.length>1&&void 0!==arguments[1]?arguments[1]:Ej}:e;let n=t.restSpeed,r=t.restDelta;const a=t.keyframes[0],s=t.keyframes[t.keyframes.length-1],i={done:!1,value:a},o=function(e){let t=l({velocity:Sj,stiffness:kj,damping:_j,mass:Cj,isResolvedFromDuration:!1},e);if(!Wj(e,Vj)&&Wj(e,Uj))if(e.visualDuration){const n=e.visualDuration,r=2*Math.PI/(1.2*n),a=r*r,s=2*Uy(.05,1,1-(e.bounce||0))*Math.sqrt(a);t=l(l({},t),{},{mass:Cj,stiffness:a,damping:s})}else{const n=Lj(e);t=l(l(l({},t),n),{},{mass:Cj}),t.isResolvedFromDuration=!0}return t}(l(l({},t),{},{velocity:-Zb(t.velocity||0)})),c=o.stiffness,d=o.damping,u=o.mass,h=o.duration,p=o.velocity,m=o.isResolvedFromDuration,f=p||0,g=d/(2*Math.sqrt(c*u)),x=s-a,v=Zb(Math.sqrt(c/u)),b=Math.abs(x)<5;let y;if(n||(n=b?Aj.granular:Aj.default),r||(r=b?Oj.granular:Oj.default),g<1){const e=Bj(v,g);y=t=>{const n=Math.exp(-g*v*t);return s-n*((f+g*v*x)/e*Math.sin(e*t)+x*Math.cos(e*t))}}else if(1===g)y=e=>s-Math.exp(-v*e)*(x+(f+v*x)*e);else{const e=v*Math.sqrt(g*g-1);y=t=>{const n=Math.exp(-g*v*t),r=Math.min(e*t,300);return s-n*((f+g*v*x)*Math.sinh(r)+e*x*Math.cosh(r))/e}}const w={calculatedDuration:m&&h||null,next:e=>{const t=y(e);if(m)i.done=e>=h;else{let a=0;g<1&&(a=0===e?$b(f):Nj(y,e,t));const o=Math.abs(a)<=n,l=Math.abs(s-t)<=r;i.done=o&&l}return i.value=i.done?s:t,i},toString:()=>{const e=Math.min(Nb(w),jb),t=Ab(t=>w.next(e*t).value,e,30);return e+"ms "+t}};return w}function Gj(e){let t=e.keyframes,n=e.velocity,r=void 0===n?0:n,a=e.power,s=void 0===a?.8:a,i=e.timeConstant,o=void 0===i?325:i,l=e.bounceDamping,c=void 0===l?10:l,d=e.bounceStiffness,u=void 0===d?500:d,h=e.modifyTarget,p=e.min,m=e.max,f=e.restDelta,g=void 0===f?.5:f,x=e.restSpeed;const v=t[0],b={done:!1,value:v},y=e=>void 0===p?m:void 0===m||Math.abs(p-e)-w*Math.exp(-e/o),_=e=>N+k(e),C=e=>{const t=k(e),n=_(e);b.done=Math.abs(t)<=g,b.value=b.done?N:n};let S,T;const E=e=>{var t;(t=b.value,void 0!==p&&tm)&&(S=e,T=Hj({keyframes:[b.value,y(b.value)],velocity:Nj(_,e,b.value),damping:c,stiffness:u,restDelta:g,restSpeed:x}))};return E(0),{calculatedDuration:null,next:e=>{let t=!1;return T||void 0!==S||(t=!0,C(e),E(e)),void 0!==S&&e>=S?T.next(e-S):(!t&&C(e),b)}}}const Kj=Ey(.42,0,1,1),qj=Ey(0,0,.58,1),$j=Ey(.42,0,.58,1),Zj={linear:Yb,easeIn:Kj,easeInOut:$j,easeOut:qj,circIn:Ry,circInOut:Ly,circOut:My,backIn:Iy,backInOut:Dy,backOut:Oy,anticipate:Fy},Yj=e=>{if(Cb(e)){Vw(4===e.length,"Cubic bezier arrays must contain four numerical values.");const t=p(e,4);return Ey(t[0],t[1],t[2],t[3])}return"string"===typeof e?(Vw(void 0!==Zj[e],"Invalid easing type '".concat(e,"'")),Zj[e]):e};function Xj(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n.clamp,a=void 0===r||r,s=n.ease,i=n.mixer;const o=e.length;if(Vw(o===t.length,"Both input and output ranges must be the same length"),1===o)return()=>t[0];if(2===o&&t[0]===t[1])return()=>t[1];const l=e[0]===e[1];e[0]>e[o-1]&&(e=[...e].reverse(),t=[...t].reverse());const c=function(e,t,n){const r=[],a=n||jj,s=e.length-1;for(let i=0;i{if(l&&n1)for(;ru(Uy(e[0],e[o-1],t)):u}function Jj(e){const t=[0];return function(e,t){const n=e[e.length-1];for(let r=1;r<=t;r++){const a=Pb(0,t,r);e.push(oj(n,1,a))}}(t,e.length-1),t}function Qj(e){let t=e.duration,n=void 0===t?300:t,r=e.keyframes,a=e.times,s=e.ease,i=void 0===s?"easeInOut":s;const o=(e=>Array.isArray(e)&&"number"!==typeof e[0])(i)?i.map(Yj):Yj(i),l={done:!1,value:r[0]},c=function(e,t){return e.map(e=>e*t)}(a&&a.length===r.length?a:Jj(r),n),d=Xj(c,r,{ease:Array.isArray(o)?o:(u=r,h=o,u.map(()=>h||$j).splice(0,u.length-1))});var u,h;return{calculatedDuration:n,next:e=>(l.value=d(e),l.done=e>=n,l)}}const eN=e=>{const t=t=>{let n=t.timestamp;return e(n)};return{start:()=>iy.update(t,!0),stop:()=>oy(t),now:()=>ly.isProcessing?ly.timestamp:hy.now()}},tN={decay:Gj,inertia:Gj,tween:Qj,keyframes:Qj,spring:Hj},nN=e=>e/100;class rN extends ij{constructor(e){super(e),this.holdTime=null,this.cancelTime=null,this.currentTime=0,this.playbackSpeed=1,this.pendingPlayState="running",this.startTime=null,this.state="idle",this.stop=()=>{if(this.resolver.cancel(),this.isStopped=!0,"idle"===this.state)return;this.teardown();const e=this.options.onStop;e&&e()};const t=this.options,n=t.name,r=t.motionValue,a=t.element,s=t.keyframes,i=(null===a||void 0===a?void 0:a.KeyframeResolver)||Bw;this.resolver=new i(s,(e,t)=>this.onKeyframesResolved(e,t),n,r,a),this.resolver.scheduleResolve()}flatten(){super.flatten(),this._resolved&&Object.assign(this._resolved,this.initPlayback(this._resolved.keyframes))}initPlayback(e){const t=this.options,n=t.type,r=void 0===n?"keyframes":n,a=t.repeat,s=void 0===a?0:a,i=t.repeatDelay,o=void 0===i?0:i,c=t.repeatType,d=t.velocity,u=void 0===d?0:d,h=kb(r)?r:tN[r]||Qj;let p,m;h!==Qj&&"number"!==typeof e[0]&&(p=fj(nN,jj(e[0],e[1])),e=[0,100]);const f=h(l(l({},this.options),{},{keyframes:e}));"mirror"===c&&(m=h(l(l({},this.options),{},{keyframes:[...e].reverse(),velocity:-u}))),null===f.calculatedDuration&&(f.calculatedDuration=Nb(f));const g=f.calculatedDuration,x=g+o;return{generator:f,mirroredGenerator:m,mapPercentToKeyframes:p,calculatedDuration:g,resolvedDuration:x,totalDuration:x*(s+1)-o}}onPostResolved(){const e=this.options.autoplay,t=void 0===e||e;this.play(),"paused"!==this.pendingPlayState&&t?this.state=this.pendingPlayState:this.pause()}tick(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const n=this.resolved;if(!n){const e=this.options.keyframes;return{done:!0,value:e[e.length-1]}}const r=n.finalKeyframe,a=n.generator,s=n.mirroredGenerator,i=n.mapPercentToKeyframes,o=n.keyframes,l=n.calculatedDuration,c=n.totalDuration,d=n.resolvedDuration;if(null===this.startTime)return a.next(0);const u=this.options,h=u.delay,p=u.repeat,m=u.repeatType,f=u.repeatDelay,g=u.onUpdate;this.speed>0?this.startTime=Math.min(this.startTime,e):this.speed<0&&(this.startTime=Math.min(e-c/this.speed,this.startTime)),t?this.currentTime=e:null!==this.holdTime?this.currentTime=this.holdTime:this.currentTime=Math.round(e-this.startTime)*this.speed;const x=this.currentTime-h*(this.speed>=0?1:-1),v=this.speed>=0?x<0:x>c;this.currentTime=Math.max(x,0),"finished"===this.state&&null===this.holdTime&&(this.currentTime=c);let b=this.currentTime,y=a;if(p){const e=Math.min(this.currentTime,c)/d;let t=Math.floor(e),n=e%1;!n&&e>=1&&(n=1),1===n&&t--,t=Math.min(t,p+1);Boolean(t%2)&&("reverse"===m?(n=1-n,f&&(n-=f/d)):"mirror"===m&&(y=s)),b=Uy(0,1,n)*d}const w=v?{done:!1,value:o[0]}:y.next(b);i&&(w.value=i(w.value));let j=w.done;v||null===l||(j=this.speed>=0?this.currentTime>=c:this.currentTime<=0);const N=null===this.holdTime&&("finished"===this.state||"running"===this.state&&j);return N&&void 0!==r&&(w.value=aj(o,this.options,r)),g&&g(w.value),N&&this.finish(),w}get duration(){const e=this.resolved;return e?Zb(e.calculatedDuration):0}get time(){return Zb(this.currentTime)}set time(e){e=$b(e),this.currentTime=e,null!==this.holdTime||0===this.speed?this.holdTime=e:this.driver&&(this.startTime=this.driver.now()-e/this.speed)}get speed(){return this.playbackSpeed}set speed(e){const t=this.playbackSpeed!==e;this.playbackSpeed=e,t&&(this.time=Zb(this.currentTime))}play(){if(this.resolver.isScheduled||this.resolver.resume(),!this._resolved)return void(this.pendingPlayState="running");if(this.isStopped)return;const e=this.options,t=e.driver,n=void 0===t?eN:t,r=e.onPlay,a=e.startTime;this.driver||(this.driver=n(e=>this.tick(e))),r&&r();const s=this.driver.now();null!==this.holdTime?this.startTime=s-this.holdTime:this.startTime?"finished"===this.state&&(this.startTime=s):this.startTime=null!==a&&void 0!==a?a:this.calcStartTime(),"finished"===this.state&&this.updateFinishedPromise(),this.cancelTime=this.startTime,this.holdTime=null,this.state="running",this.driver.start()}pause(){var e;this._resolved?(this.state="paused",this.holdTime=null!==(e=this.currentTime)&&void 0!==e?e:0):this.pendingPlayState="paused"}complete(){"running"!==this.state&&this.play(),this.pendingPlayState=this.state="finished",this.holdTime=null}finish(){this.teardown(),this.state="finished";const e=this.options.onComplete;e&&e()}cancel(){null!==this.cancelTime&&this.tick(this.cancelTime),this.teardown(),this.updateFinishedPromise()}teardown(){this.state="idle",this.stopDriver(),this.resolveFinishedPromise(),this.updateFinishedPromise(),this.startTime=this.cancelTime=null,this.resolver.cancel()}stopDriver(){this.driver&&(this.driver.stop(),this.driver=void 0)}sample(e){return this.startTime=0,this.tick(e,!0)}}const aN=new Set(["opacity","clipPath","filter","transform"]);const sN=xb(()=>Object.hasOwnProperty.call(Element.prototype,"animate")),iN=["onComplete","onUpdate","motionValue","element"],oN=["motionValue","onUpdate","onComplete","element"];const lN={anticipate:Fy,backInOut:Dy,circInOut:Ly};class cN extends ij{constructor(e){super(e);const t=this.options,n=t.name,r=t.motionValue,a=t.element,s=t.keyframes;this.resolver=new ej(s,(e,t)=>this.onKeyframesResolved(e,t),n,r,a),this.resolver.scheduleResolve()}initPlayback(e,t){let n=this.options,r=n.duration,a=void 0===r?300:r,s=n.times,i=n.ease,o=n.type,c=n.motionValue,d=n.name,u=n.startTime;if(!c.owner||!c.owner.current)return!1;var h;if("string"===typeof i&&Eb()&&i in lN&&(i=lN[i]),kb((h=this.options).type)||"spring"===h.type||!Ob(h.ease)){const t=this.options,n=(t.onComplete,t.onUpdate,t.motionValue,t.element,Ae(t,iN)),r=function(e,t){const n=new rN(l(l({},t),{},{keyframes:e,repeat:0,delay:0,isGenerator:!0}));let r={done:!1,value:e[0]};const a=[];let s=0;for(;!r.done&&s<2e4;)r=n.sample(s),a.push(r.value),s+=10;return{times:void 0,keyframes:a,duration:s-10,ease:"linear"}}(e,n);1===(e=r.keyframes).length&&(e[1]=e[0]),a=r.duration,s=r.times,i=r.ease,o="keyframes"}const p=function(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},a=r.delay,s=void 0===a?0:a,i=r.duration,o=void 0===i?300:i,l=r.repeat,c=void 0===l?0:l,d=r.repeatType,u=void 0===d?"loop":d,h=r.ease,p=void 0===h?"easeInOut":h,m=r.times;const f={[t]:n};m&&(f.offset=m);const g=Fb(p,o);return Array.isArray(g)&&(f.easing=g),e.animate(f,{delay:s,duration:o,easing:Array.isArray(g)?"linear":g,fill:"both",iterations:c+1,direction:"reverse"===u?"alternate":"normal"})}(c.owner.current,d,e,l(l({},this.options),{},{duration:a,times:s,ease:i}));return p.startTime=null!==u&&void 0!==u?u:this.calcStartTime(),this.pendingTimeline?(_b(p,this.pendingTimeline),this.pendingTimeline=void 0):p.onfinish=()=>{const n=this.options.onComplete;c.set(aj(e,this.options,t)),n&&n(),this.cancel(),this.resolveFinishedPromise()},{animation:p,duration:a,times:s,type:o,ease:i,keyframes:e}}get duration(){const e=this.resolved;if(!e)return 0;const t=e.duration;return Zb(t)}get time(){const e=this.resolved;if(!e)return 0;const t=e.animation;return Zb(t.currentTime||0)}set time(e){const t=this.resolved;if(!t)return;t.animation.currentTime=$b(e)}get speed(){const e=this.resolved;if(!e)return 1;return e.animation.playbackRate}set speed(e){const t=this.resolved;if(!t)return;t.animation.playbackRate=e}get state(){const e=this.resolved;if(!e)return"idle";return e.animation.playState}get startTime(){const e=this.resolved;if(!e)return null;return e.animation.startTime}attachTimeline(e){if(this._resolved){const t=this.resolved;if(!t)return Yb;_b(t.animation,e)}else this.pendingTimeline=e;return Yb}play(){if(this.isStopped)return;const e=this.resolved;if(!e)return;const t=e.animation;"finished"===t.playState&&this.updateFinishedPromise(),t.play()}pause(){const e=this.resolved;if(!e)return;e.animation.pause()}stop(){if(this.resolver.cancel(),this.isStopped=!0,"idle"===this.state)return;this.resolveFinishedPromise(),this.updateFinishedPromise();const e=this.resolved;if(!e)return;const t=e.animation,n=e.keyframes,r=e.duration,a=e.type,s=e.ease,i=e.times;if("idle"===t.playState||"finished"===t.playState)return;if(this.time){const e=this.options,t=e.motionValue,o=(e.onUpdate,e.onComplete,e.element,Ae(e,oN)),c=new rN(l(l({},o),{},{keyframes:n,duration:r,type:a,ease:s,times:i,isGenerator:!0})),d=$b(this.time);t.setWithVelocity(c.sample(d-10).value,c.sample(d).value,10)}const o=this.options.onStop;o&&o(),this.cancel()}complete(){const e=this.resolved;e&&e.animation.finish()}cancel(){const e=this.resolved;e&&e.animation.cancel()}static supports(e){const t=e.motionValue,n=e.name,r=e.repeatDelay,a=e.repeatType,s=e.damping,i=e.type;if(!t||!t.owner||!(t.owner.current instanceof HTMLElement))return!1;const o=t.owner.getProps(),l=o.onUpdate,c=o.transformTemplate;return sN()&&n&&aN.has(n)&&!l&&!c&&!r&&"mirror"!==a&&0!==s&&"inertia"!==i}}const dN={type:"spring",stiffness:500,damping:25,restSpeed:10},uN={type:"keyframes",duration:.8},hN={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},pN=(e,t)=>{let n=t.keyframes;return n.length>2?uN:Jb.has(e)?e.startsWith("scale")?{type:"spring",stiffness:550,damping:0===n[1]?2*Math.sqrt(550):30,restSpeed:10}:dN:hN},mN=["when","delay","delayChildren","staggerChildren","staggerDirection","repeat","repeatType","repeatDelay","from","elapsed"];const fN=function(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},a=arguments.length>4?arguments[4]:void 0,s=arguments.length>5?arguments[5]:void 0;return i=>{const o=wb(r,e)||{},c=o.delay||r.delay||0;let d=r.elapsed,u=void 0===d?0:d;u-=$b(c);let h=l(l({keyframes:Array.isArray(n)?n:[null,n],ease:"easeOut",velocity:t.getVelocity()},o),{},{delay:-u,onUpdate:e=>{t.set(e),o.onUpdate&&o.onUpdate(e)},onComplete:()=>{i(),o.onComplete&&o.onComplete()},name:e,motionValue:t,element:s?void 0:a});(function(e){e.when,e.delay,e.delayChildren,e.staggerChildren,e.staggerDirection,e.repeat,e.repeatType,e.repeatDelay,e.from,e.elapsed;let t=Ae(e,mN);return!!Object.keys(t).length})(o)||(h=l(l({},h),pN(e,h))),h.duration&&(h.duration=$b(h.duration)),h.repeatDelay&&(h.repeatDelay=$b(h.repeatDelay)),void 0!==h.from&&(h.keyframes[0]=h.from);let p=!1;if((!1===h.type||0===h.duration&&!h.repeatDelay)&&(h.duration=0,0===h.delay&&(p=!0)),(Sy||ty)&&(p=!0,h.duration=0,h.delay=0),p&&!s&&void 0!==t.get()){const e=aj(h.keyframes,o);if(void 0!==e)return iy.update(()=>{h.onUpdate(e),h.onComplete()}),new yb([])}return!s&&cN.supports(h)?new cN(h):new rN(h)}},gN=["transition","transitionEnd"];function xN(e,t){let n=e.protectedKeys,r=e.needsAnimating;const a=n.hasOwnProperty(t)&&!0!==r[t];return r[t]=!1,a}function vN(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n.delay,a=void 0===r?0:r,s=n.transitionOverride,i=n.type;var o;let c=t.transition,d=void 0===c?e.getDefaultTransition():c,u=t.transitionEnd,h=Ae(t,gN);s&&(d=s);const p=[],m=i&&e.animationState&&e.animationState.getState()[i];for(const f in h){const t=e.getValue(f,null!==(o=e.latestValues[f])&&void 0!==o?o:null),n=h[f];if(void 0===n||m&&xN(m,f))continue;const r=l({delay:a},wb(d||{},f));let s=!1;if(window.MotionHandoffAnimation){const t=Cy(e);if(t){const e=window.MotionHandoffAnimation(t,f,iy);null!==e&&(r.startTime=e,s=!0)}}Ny(e,f),t.start(fN(f,t,n,e.shouldReduceMotion&&Qb.has(f)?{type:!1}:r,e,s));const i=t.animation;i&&p.push(i)}return u&&Promise.all(p).then(()=>{iy.update(()=>{u&&function(e,t){let n=mb(e,t)||{},r=n.transitionEnd,a=void 0===r?{}:r,s=(n.transition,Ae(n,yy));s=l(l({},s),a);for(const i in s)wy(e,i,ey(s[i]))}(e,u)})}),p}function bN(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};var r;const a=mb(e,t,"exit"===n.type?null===(r=e.presenceContext)||void 0===r?void 0:r.custom:void 0);let s=(a||{}).transition,i=void 0===s?e.getDefaultTransition()||{}:s;n.transitionOverride&&(i=n.transitionOverride);const o=a?()=>Promise.all(vN(e,a,n)):()=>Promise.resolve(),c=e.variantChildren&&e.variantChildren.size?function(){let r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;const a=i,s=a.delayChildren,o=void 0===s?0:s,c=a.staggerChildren,d=a.staggerDirection;return function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1,s=arguments.length>5?arguments[5]:void 0;const i=[],o=(e.variantChildren.size-1)*r,c=1===a?function(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:0)*r}:function(){return o-(arguments.length>0&&void 0!==arguments[0]?arguments[0]:0)*r};return Array.from(e.variantChildren).sort(yN).forEach((e,r)=>{e.notify("AnimationStart",t),i.push(bN(e,t,l(l({},s),{},{delay:n+c(r)})).then(()=>e.notify("AnimationComplete",t)))}),Promise.all(i)}(e,t,o+r,c,d,n)}:()=>Promise.resolve(),d=i.when;if(d){const e=p("beforeChildren"===d?[o,c]:[c,o],2),t=e[0],n=e[1];return t().then(()=>n())}return Promise.all([o(),c(n.delay)])}function yN(e,t){return e.sortNodePosition(t)}const wN=gb.length;function jN(e){if(!e)return;if(!e.isControllingVariants){const t=e.parent&&jN(e.parent)||{};return void 0!==e.props.initial&&(t.initial=e.props.initial),t}const t={};for(let n=0;nPromise.all(t.map(t=>{let n=t.animation,r=t.options;return function(e,t){let n,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(e.notify("AnimationStart",t),Array.isArray(t)){const a=t.map(t=>bN(e,t,r));n=Promise.all(a)}else if("string"===typeof t)n=bN(e,t,r);else{const a="function"===typeof t?mb(e,t,r.custom):t;n=Promise.all(vN(e,a,r))}return n.then(()=>{e.notify("AnimationComplete",t)})}(e,n,r)}))}function SN(e){let t=CN(e),n=PN(),r=!0;const a=t=>(n,r)=>{var a;const s=mb(e,r,"exit"===t?null===(a=e.presenceContext)||void 0===a?void 0:a.custom:void 0);if(s){s.transition;const e=s.transitionEnd,t=Ae(s,NN);n=l(l(l({},n),t),e)}return n};function s(s){const i=e.props,o=jN(e.parent)||{},c=[],d=new Set;let u={},h=1/0;for(let t=0;t<_N;t++){const p=kN[t],m=n[p],f=void 0!==i[p]?i[p]:o[p],g=ub(f),x=p===s?m.isActive:null;!1===x&&(h=t);let v=f===o[p]&&f!==i[p]&&g;if(v&&r&&e.manuallyAnimateOnMount&&(v=!1),m.protectedKeys=l({},u),!m.isActive&&null===x||!f&&!m.prevProp||lb(f)||"boolean"===typeof f)continue;const b=TN(m.prevProp,f);let y=b||p===s&&m.isActive&&!v&&g||t>h&&g,w=!1;const j=Array.isArray(f)?f:[f];let N=j.reduce(a(p),{});!1===x&&(N={});const k=m.prevResolvedValues,_=void 0===k?{}:k,C=l(l({},_),N),S=t=>{y=!0,d.has(t)&&(w=!0,d.delete(t)),m.needsAnimating[t]=!0;const n=e.getValue(t);n&&(n.liveStyle=!1)};for(const e in C){const t=N[e],n=_[e];if(u.hasOwnProperty(e))continue;let r=!1;r=cb(t)&&cb(n)?!db(t,n):t!==n,r?void 0!==t&&null!==t?S(e):d.add(e):void 0!==t&&d.has(e)?S(e):m.protectedKeys[e]=!0}m.prevProp=f,m.prevResolvedValues=N,m.isActive&&(u=l(l({},u),N)),r&&e.blockInitialAnimation&&(y=!1);y&&(!(v&&b)||w)&&c.push(...j.map(e=>({animation:e,options:{type:p}})))}if(d.size){const t={};d.forEach(n=>{const r=e.getBaseTarget(n),a=e.getValue(n);a&&(a.liveStyle=!0),t[n]=null!==r&&void 0!==r?r:null}),c.push({animation:t})}let p=Boolean(c.length);return!r||!1!==i.initial&&i.initial!==i.animate||e.manuallyAnimateOnMount||(p=!1),r=!1,p?t(c):Promise.resolve()}return{animateChanges:s,setActive:function(t,r){var a;if(n[t].isActive===r)return Promise.resolve();null===(a=e.variantChildren)||void 0===a||a.forEach(e=>{var n;return null===(n=e.animationState)||void 0===n?void 0:n.setActive(t,r)}),n[t].isActive=r;const i=s(t);for(const e in n)n[e].protectedKeys={};return i},setAnimateFunction:function(n){t=n(e)},getState:()=>n,reset:()=>{n=PN(),r=!0}}}function TN(e,t){return"string"===typeof t?t!==e:!!Array.isArray(t)&&!db(t,e)}function EN(){return{isActive:arguments.length>0&&void 0!==arguments[0]&&arguments[0],protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function PN(){return{animate:EN(!0),whileInView:EN(),whileHover:EN(),whileTap:EN(),whileDrag:EN(),whileFocus:EN(),exit:EN()}}class AN{constructor(e){this.isMounted=!1,this.node=e}update(){}}let ON=0;const IN={animation:{Feature:class extends AN{constructor(e){super(e),e.animationState||(e.animationState=SN(e))}updateAnimationControlsSubscription(){const e=this.node.getProps().animate;lb(e)&&(this.unmountControls=e.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){this.node.getProps().animate!==(this.node.prevProps||{}).animate&&this.updateAnimationControlsSubscription()}unmount(){var e;this.node.animationState.reset(),null===(e=this.unmountControls)||void 0===e||e.call(this)}}},exit:{Feature:class extends AN{constructor(){super(...arguments),this.id=ON++}update(){if(!this.node.presenceContext)return;const e=this.node.presenceContext,t=e.isPresent,n=e.onExitComplete,r=(this.node.prevPresenceContext||{}).isPresent;if(!this.node.animationState||t===r)return;const a=this.node.animationState.setActive("exit",!t);n&&!t&&a.then(()=>n(this.id))}mount(){const e=(this.node.presenceContext||{}).register;e&&(this.unmount=e(this.id))}unmount(){}}}};function DN(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{passive:!0};return e.addEventListener(t,n,r),()=>e.removeEventListener(t,n)}function FN(e){return{point:{x:e.pageX,y:e.pageY}}}function RN(e,t,n,r){return DN(e,t,(e=>t=>Ub(t)&&e(t,FN(t)))(n),r)}const MN=(e,t)=>Math.abs(e-t);class LN{constructor(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n.transformPagePoint,a=n.contextWindow,s=n.dragSnapToOrigin,i=void 0!==s&&s;if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.handlers={},this.contextWindow=window,this.updatePoint=()=>{if(!this.lastMoveEvent||!this.lastMoveEventInfo)return;const e=UN(this.lastMoveEventInfo,this.history),t=null!==this.startEvent,n=function(e,t){const n=MN(e.x,t.x),r=MN(e.y,t.y);return Math.sqrt(n**2+r**2)}(e.offset,{x:0,y:0})>=3;if(!t&&!n)return;const r=e.point,a=ly.timestamp;this.history.push(l(l({},r),{},{timestamp:a}));const s=this.handlers,i=s.onStart,o=s.onMove;t||(i&&i(this.lastMoveEvent,e),this.startEvent=this.lastMoveEvent),o&&o(this.lastMoveEvent,e)},this.handlePointerMove=(e,t)=>{this.lastMoveEvent=e,this.lastMoveEventInfo=zN(t,this.transformPagePoint),iy.update(this.updatePoint,!0)},this.handlePointerUp=(e,t)=>{this.end();const n=this.handlers,r=n.onEnd,a=n.onSessionEnd,s=n.resumeAnimation;if(this.dragSnapToOrigin&&s&&s(),!this.lastMoveEvent||!this.lastMoveEventInfo)return;const i=UN("pointercancel"===e.type?this.lastMoveEventInfo:zN(t,this.transformPagePoint),this.history);this.startEvent&&r&&r(e,i),a&&a(e,i)},!Ub(e))return;this.dragSnapToOrigin=i,this.handlers=t,this.transformPagePoint=r,this.contextWindow=a||window;const o=zN(FN(e),this.transformPagePoint),c=o.point,d=ly.timestamp;this.history=[l(l({},c),{},{timestamp:d})];const u=t.onSessionStart;u&&u(e,UN(o,this.history)),this.removeListeners=fj(RN(this.contextWindow,"pointermove",this.handlePointerMove),RN(this.contextWindow,"pointerup",this.handlePointerUp),RN(this.contextWindow,"pointercancel",this.handlePointerUp))}updateHandlers(e){this.handlers=e}end(){this.removeListeners&&this.removeListeners(),oy(this.updatePoint)}}function zN(e,t){return t?{point:t(e.point)}:e}function BN(e,t){return{x:e.x-t.x,y:e.y-t.y}}function UN(e,t){let n=e.point;return{point:n,delta:BN(n,WN(t)),offset:BN(n,VN(t)),velocity:HN(t,.1)}}function VN(e){return e[0]}function WN(e){return e[e.length-1]}function HN(e,t){if(e.length<2)return{x:0,y:0};let n=e.length-1,r=null;const a=WN(e);for(;n>=0&&(r=e[n],!(a.timestamp-r.timestamp>$b(t)));)n--;if(!r)return{x:0,y:0};const s=Zb(a.timestamp-r.timestamp);if(0===s)return{x:0,y:0};const i={x:(a.x-r.x)/s,y:(a.y-r.y)/s};return i.x===1/0&&(i.x=0),i.y===1/0&&(i.y=0),i}function GN(e){return e&&"object"===typeof e&&Object.prototype.hasOwnProperty.call(e,"current")}function KN(e){return e.max-e.min}function qN(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:.5;e.origin=r,e.originPoint=oj(t.min,t.max,e.origin),e.scale=KN(n)/KN(t),e.translate=oj(n.min,n.max,e.origin)-e.originPoint,(e.scale>=.9999&&e.scale<=1.0001||isNaN(e.scale))&&(e.scale=1),(e.translate>=-.01&&e.translate<=.01||isNaN(e.translate))&&(e.translate=0)}function $N(e,t,n,r){qN(e.x,t.x,n.x,r?r.originX:void 0),qN(e.y,t.y,n.y,r?r.originY:void 0)}function ZN(e,t,n){e.min=n.min+t.min,e.max=e.min+KN(t)}function YN(e,t,n){e.min=t.min-n.min,e.max=e.min+KN(t)}function XN(e,t,n){YN(e.x,t.x,n.x),YN(e.y,t.y,n.y)}function JN(e,t,n){return{min:void 0!==t?e.min+t:void 0,max:void 0!==n?e.max+n-(e.max-e.min):void 0}}function QN(e,t){let n=t.min-e.min,r=t.max-e.max;if(t.max-t.min({x:{min:0,max:0},y:{min:0,max:0}});function ak(e){return[e("x"),e("y")]}function sk(e){let t=e.top;return{x:{min:e.left,max:e.right},y:{min:t,max:e.bottom}}}function ik(e){return void 0===e||1===e}function ok(e){let t=e.scale,n=e.scaleX,r=e.scaleY;return!ik(t)||!ik(n)||!ik(r)}function lk(e){return ok(e)||ck(e)||e.z||e.rotate||e.rotateX||e.rotateY||e.skewX||e.skewY}function ck(e){return dk(e.x)||dk(e.y)}function dk(e){return e&&"0%"!==e}function uk(e,t,n){return n+t*(e-n)}function hk(e,t,n,r,a){return void 0!==a&&(e=uk(e,a,r)),uk(e,n,r)+t}function pk(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,r=arguments.length>3?arguments[3]:void 0,a=arguments.length>4?arguments[4]:void 0;e.min=hk(e.min,t,n,r,a),e.max=hk(e.max,t,n,r,a)}function mk(e,t){let n=t.x,r=t.y;pk(e.x,n.translate,n.scale,n.originPoint),pk(e.y,r.translate,r.scale,r.originPoint)}const fk=.999999999999,gk=1.0000000000001;function xk(e,t){e.min=e.min+t,e.max=e.max+t}function vk(e,t,n,r){let a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:.5;pk(e,t,n,oj(e.min,e.max,a),r)}function bk(e,t){vk(e.x,t.x,t.scaleX,t.scale,t.originX),vk(e.y,t.y,t.scaleY,t.scale,t.originY)}function yk(e,t){return sk(function(e,t){if(!t)return e;const n=t({x:e.left,y:e.top}),r=t({x:e.right,y:e.bottom});return{top:n.y,left:n.x,bottom:r.y,right:r.x}}(e.getBoundingClientRect(),t))}const wk=e=>{let t=e.current;return t?t.ownerDocument.defaultView:null},jk=new WeakMap;class Nk{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={x:{min:0,max:0},y:{min:0,max:0}},this.visualElement=e}start(e){let t=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).snapToCursor,n=void 0!==t&&t;const r=this.visualElement.presenceContext;if(r&&!1===r.isPresent)return;const a=this.getProps().dragSnapToOrigin;this.panSession=new LN(e,{onSessionStart:e=>{this.getProps().dragSnapToOrigin?this.pauseAnimation():this.stopAnimation(),n&&this.snapToCursor(FN(e).point)},onStart:(e,t)=>{const n=this.getProps(),r=n.drag,a=n.dragPropagation,s=n.onDragStart;if(r&&!a&&(this.openDragLock&&this.openDragLock(),this.openDragLock="x"===(i=r)||"y"===i?Rb[i]?null:(Rb[i]=!0,()=>{Rb[i]=!1}):Rb.x||Rb.y?null:(Rb.x=Rb.y=!0,()=>{Rb.x=Rb.y=!1}),!this.openDragLock))return;var i;this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),ak(e=>{let t=this.getAxisMotionValue(e).get()||0;if(tw.test(t)){const n=this.visualElement.projection;if(n&&n.layout){const r=n.layout.layoutBox[e];if(r){t=KN(r)*(parseFloat(t)/100)}}}this.originPoint[e]=t}),s&&iy.postRender(()=>s(e,t)),Ny(this.visualElement,"transform");const o=this.visualElement.animationState;o&&o.setActive("whileDrag",!0)},onMove:(e,t)=>{const n=this.getProps(),r=n.dragPropagation,a=n.dragDirectionLock,s=n.onDirectionLock,i=n.onDrag;if(!r&&!this.openDragLock)return;const o=t.offset;if(a&&null===this.currentDirection)return this.currentDirection=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:10,n=null;Math.abs(e.y)>t?n="y":Math.abs(e.x)>t&&(n="x");return n}(o),void(null!==this.currentDirection&&s&&s(this.currentDirection));this.updateAxis("x",t.point,o),this.updateAxis("y",t.point,o),this.visualElement.render(),i&&i(e,t)},onSessionEnd:(e,t)=>this.stop(e,t),resumeAnimation:()=>ak(e=>{var t;return"paused"===this.getAnimationState(e)&&(null===(t=this.getAxisMotionValue(e).animation)||void 0===t?void 0:t.play())})},{transformPagePoint:this.visualElement.getTransformPagePoint(),dragSnapToOrigin:a,contextWindow:wk(this.visualElement)})}stop(e,t){const n=this.isDragging;if(this.cancel(),!n)return;const r=t.velocity;this.startAnimation(r);const a=this.getProps().onDragEnd;a&&iy.postRender(()=>a(e,t))}cancel(){this.isDragging=!1;const e=this.visualElement,t=e.projection,n=e.animationState;t&&(t.isAnimationBlocked=!1),this.panSession&&this.panSession.end(),this.panSession=void 0;!this.getProps().dragPropagation&&this.openDragLock&&(this.openDragLock(),this.openDragLock=null),n&&n.setActive("whileDrag",!1)}updateAxis(e,t,n){const r=this.getProps().drag;if(!n||!kk(e,r,this.currentDirection))return;const a=this.getAxisMotionValue(e);let s=this.originPoint[e]+n[e];this.constraints&&this.constraints[e]&&(s=function(e,t,n){let r=t.min,a=t.max;return void 0!==r&&ea&&(e=n?oj(a,e,n.max):Math.min(e,a)),e}(s,this.constraints[e],this.elastic[e])),a.set(s)}resolveConstraints(){var e;const t=this.getProps(),n=t.dragConstraints,r=t.dragElastic,a=this.visualElement.projection&&!this.visualElement.projection.layout?this.visualElement.projection.measure(!1):null===(e=this.visualElement.projection)||void 0===e?void 0:e.layout,s=this.constraints;n&&GN(n)?this.constraints||(this.constraints=this.resolveRefConstraints()):this.constraints=!(!n||!a)&&function(e,t){let n=t.top,r=t.left,a=t.bottom,s=t.right;return{x:JN(e.x,r,s),y:JN(e.y,n,a)}}(a.layoutBox,n),this.elastic=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:ek;return!1===e?e=0:!0===e&&(e=ek),{x:tk(e,"left","right"),y:tk(e,"top","bottom")}}(r),s!==this.constraints&&a&&this.constraints&&!this.hasMutatedConstraints&&ak(e=>{!1!==this.constraints&&this.getAxisMotionValue(e)&&(this.constraints[e]=function(e,t){const n={};return void 0!==t.min&&(n.min=t.min-e.min),void 0!==t.max&&(n.max=t.max-e.min),n}(a.layoutBox[e],this.constraints[e]))})}resolveRefConstraints(){const e=this.getProps(),t=e.dragConstraints,n=e.onMeasureDragConstraints;if(!t||!GN(t))return!1;const r=t.current;Vw(null!==r,"If `dragConstraints` is set as a React ref, that ref must be passed to another component's `ref` prop.");const a=this.visualElement.projection;if(!a||!a.layout)return!1;const s=function(e,t,n){const r=yk(e,n),a=t.scroll;return a&&(xk(r.x,a.offset.x),xk(r.y,a.offset.y)),r}(r,a.root,this.visualElement.getTransformPagePoint());let i=function(e,t){return{x:QN(e.x,t.x),y:QN(e.y,t.y)}}(a.layout.layoutBox,s);if(n){const e=n(function(e){let t=e.x,n=e.y;return{top:n.min,right:t.max,bottom:n.max,left:t.min}}(i));this.hasMutatedConstraints=!!e,e&&(i=sk(e))}return i}startAnimation(e){const t=this.getProps(),n=t.drag,r=t.dragMomentum,a=t.dragElastic,s=t.dragTransition,i=t.dragSnapToOrigin,o=t.onDragTransitionEnd,c=this.constraints||{},d=ak(t=>{if(!kk(t,n,this.currentDirection))return;let o=c&&c[t]||{};i&&(o={min:0,max:0});const d=a?200:1e6,u=a?40:1e7,h=l(l({type:"inertia",velocity:r?e[t]:0,bounceStiffness:d,bounceDamping:u,timeConstant:750,restDelta:1,restSpeed:10},s),o);return this.startAxisValueAnimation(t,h)});return Promise.all(d).then(o)}startAxisValueAnimation(e,t){const n=this.getAxisMotionValue(e);return Ny(this.visualElement,e),n.start(fN(e,n,0,t,this.visualElement,!1))}stopAnimation(){ak(e=>this.getAxisMotionValue(e).stop())}pauseAnimation(){ak(e=>{var t;return null===(t=this.getAxisMotionValue(e).animation)||void 0===t?void 0:t.pause()})}getAnimationState(e){var t;return null===(t=this.getAxisMotionValue(e).animation)||void 0===t?void 0:t.state}getAxisMotionValue(e){const t="_drag".concat(e.toUpperCase()),n=this.visualElement.getProps(),r=n[t];return r||this.visualElement.getValue(e,(n.initial?n.initial[e]:void 0)||0)}snapToCursor(e){ak(t=>{if(!kk(t,this.getProps().drag,this.currentDirection))return;const n=this.visualElement.projection,r=this.getAxisMotionValue(t);if(n&&n.layout){const a=n.layout.layoutBox[t],s=a.min,i=a.max;r.set(e[t]-oj(s,i,.5))}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const e=this.getProps(),t=e.drag,n=e.dragConstraints,r=this.visualElement.projection;if(!GN(n)||!r||!this.constraints)return;this.stopAnimation();const a={x:0,y:0};ak(e=>{const t=this.getAxisMotionValue(e);if(t&&!1!==this.constraints){const n=t.get();a[e]=function(e,t){let n=.5;const r=KN(e),a=KN(t);return a>r?n=Pb(t.min,t.max-r,e.min):r>a&&(n=Pb(e.min,e.max-a,t.min)),Uy(0,1,n)}({min:n,max:n},this.constraints[e])}});const s=this.visualElement.getProps().transformTemplate;this.visualElement.current.style.transform=s?s({},""):"none",r.root&&r.root.updateScroll(),r.updateLayout(),this.resolveConstraints(),ak(e=>{if(!kk(e,t,null))return;const n=this.getAxisMotionValue(e),r=this.constraints[e],s=r.min,i=r.max;n.set(oj(s,i,a[e]))})}addListeners(){if(!this.visualElement.current)return;jk.set(this.visualElement,this);const e=RN(this.visualElement.current,"pointerdown",e=>{const t=this.getProps(),n=t.drag,r=t.dragListener;n&&(void 0===r||r)&&this.start(e)}),t=()=>{const e=this.getProps().dragConstraints;GN(e)&&e.current&&(this.constraints=this.resolveRefConstraints())},n=this.visualElement.projection,r=n.addEventListener("measure",t);n&&!n.layout&&(n.root&&n.root.updateScroll(),n.updateLayout()),iy.read(t);const a=DN(window,"resize",()=>this.scalePositionWithinConstraints()),s=n.addEventListener("didUpdate",e=>{let t=e.delta,n=e.hasLayoutChanged;this.isDragging&&n&&(ak(e=>{const n=this.getAxisMotionValue(e);n&&(this.originPoint[e]+=t[e].translate,n.set(n.get()+t[e].translate))}),this.visualElement.render())});return()=>{a(),e(),r(),s&&s()}}getProps(){const e=this.visualElement.getProps(),t=e.drag,n=void 0!==t&&t,r=e.dragDirectionLock,a=void 0!==r&&r,s=e.dragPropagation,i=void 0!==s&&s,o=e.dragConstraints,c=void 0!==o&&o,d=e.dragElastic,u=void 0===d?ek:d,h=e.dragMomentum,p=void 0===h||h;return l(l({},e),{},{drag:n,dragDirectionLock:a,dragPropagation:i,dragConstraints:c,dragElastic:u,dragMomentum:p})}}function kk(e,t,n){return(!0===t||t===e)&&(null===n||n===e)}const _k=e=>(t,n)=>{e&&iy.postRender(()=>e(t,n))};const Ck=(0,e.createContext)({}),Sk={hasAnimatedSinceResize:!0,hasEverUpdated:!1};function Tk(e,t){return t.max===t.min?0:e/(t.max-t.min)*100}const Ek={correct:(e,t)=>{if(!t.target)return e;if("string"===typeof e){if(!nw.test(e))return e;e=parseFloat(e)}const n=Tk(e,t.target.x),r=Tk(e,t.target.y);return"".concat(n,"% ").concat(r,"%")}},Pk={correct:(e,t)=>{let n=t.treeScale,r=t.projectionDelta;const a=e,s=gw.parse(e);if(s.length>5)return a;const i=gw.createTransformer(e),o="number"!==typeof s[0]?1:0,l=r.x.scale*n.x,c=r.y.scale*n.y;s[0+o]/=l,s[1+o]/=c;const d=oj(l,c,.5);return"number"===typeof s[2+o]&&(s[2+o]/=d),"number"===typeof s[3+o]&&(s[3+o]/=d),i(s)}},Ak={};const Ok=ay(queueMicrotask,!1),Ik=Ok.schedule;Ok.cancel;class Dk extends e.Component{componentDidMount(){const e=this.props,t=e.visualElement,n=e.layoutGroup,r=e.switchLayoutGroup,a=e.layoutId,s=t.projection;var i;i=Rk,Object.assign(Ak,i),s&&(n.group&&n.group.add(s),r&&r.register&&a&&r.register(s),s.root.didUpdate(),s.addEventListener("animationComplete",()=>{this.safeToRemove()}),s.setOptions(l(l({},s.options),{},{onExitComplete:()=>this.safeToRemove()}))),Sk.hasEverUpdated=!0}getSnapshotBeforeUpdate(e){const t=this.props,n=t.layoutDependency,r=t.visualElement,a=t.drag,s=t.isPresent,i=r.projection;return i?(i.isPresent=s,a||e.layoutDependency!==n||void 0===n?i.willUpdate():this.safeToRemove(),e.isPresent!==s&&(s?i.promote():i.relegate()||iy.postRender(()=>{const e=i.getStack();e&&e.members.length||this.safeToRemove()})),null):null}componentDidUpdate(){const e=this.props.visualElement.projection;e&&(e.root.didUpdate(),Ik.postRender(()=>{!e.currentAnimation&&e.isLead()&&this.safeToRemove()}))}componentWillUnmount(){const e=this.props,t=e.visualElement,n=e.layoutGroup,r=e.switchLayoutGroup,a=t.projection;a&&(a.scheduleCheckAfterUnmount(),n&&n.group&&n.group.remove(a),r&&r.deregister&&r.deregister(a))}safeToRemove(){const e=this.props.safeToRemove;e&&e()}render(){return null}}function Fk(t){const n=p(tb(),2),r=n[0],a=n[1],s=(0,e.useContext)(qv);return(0,Ve.jsx)(Dk,l(l({},t),{},{layoutGroup:s,switchLayoutGroup:(0,e.useContext)(Ck),isPresent:r,safeToRemove:a}))}const Rk={borderRadius:l(l({},Ek),{},{applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]}),borderTopLeftRadius:Ek,borderTopRightRadius:Ek,borderBottomLeftRadius:Ek,borderBottomRightRadius:Ek,boxShadow:Pk};const Mk=(e,t)=>e.depth-t.depth;class Lk{constructor(){this.children=[],this.isDirty=!1}add(e){py(this.children,e),this.isDirty=!0}remove(e){my(this.children,e),this.isDirty=!0}forEach(e){this.isDirty&&this.children.sort(Mk),this.isDirty=!1,this.children.forEach(e)}}function zk(e,t){const n=hy.now(),r=a=>{const s=a.timestamp-n;s>=t&&(oy(r),e(s-t))};return iy.read(r,!0),()=>oy(r)}function Bk(e){const t=jy(e)?e.get():e;return n=t,Boolean(n&&"object"===typeof n&&n.mix&&n.toValue)?t.toValue():t;var n}const Uk=["TopLeft","TopRight","BottomLeft","BottomRight"],Vk=Uk.length,Wk=e=>"string"===typeof e?parseFloat(e):e,Hk=e=>"number"===typeof e||nw.test(e);function Gk(e,t){return void 0!==e[t]?e[t]:e.borderRadius}const Kk=$k(0,.5,My),qk=$k(.5,.95,Yb);function $k(e,t,n){return r=>rt?1:n(Pb(e,t,r))}function Zk(e,t){e.min=t.min,e.max=t.max}function Yk(e,t){Zk(e.x,t.x),Zk(e.y,t.y)}function Xk(e,t){e.translate=t.translate,e.scale=t.scale,e.originPoint=t.originPoint,e.origin=t.origin}function Jk(e,t,n,r,a){return e=uk(e-=t,1/n,r),void 0!==a&&(e=uk(e,1/a,r)),e}function Qk(e,t,n,r,a){let s=p(n,3),i=s[0],o=s[1],l=s[2];!function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:.5,a=arguments.length>4?arguments[4]:void 0,s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:e,i=arguments.length>6&&void 0!==arguments[6]?arguments[6]:e;tw.test(t)&&(t=parseFloat(t),t=oj(i.min,i.max,t/100)-i.min);if("number"!==typeof t)return;let o=oj(s.min,s.max,r);e===s&&(o-=t),e.min=Jk(e.min,t,n,o,a),e.max=Jk(e.max,t,n,o,a)}(e,t[i],t[o],t[l],t.scale,r,a)}const e_=["x","scaleX","originX"],t_=["y","scaleY","originY"];function n_(e,t,n,r){Qk(e.x,t,e_,n?n.x:void 0,r?r.x:void 0),Qk(e.y,t,t_,n?n.y:void 0,r?r.y:void 0)}function r_(e){return 0===e.translate&&1===e.scale}function a_(e){return r_(e.x)&&r_(e.y)}function s_(e,t){return e.min===t.min&&e.max===t.max}function i_(e,t){return Math.round(e.min)===Math.round(t.min)&&Math.round(e.max)===Math.round(t.max)}function o_(e,t){return i_(e.x,t.x)&&i_(e.y,t.y)}function l_(e){return KN(e.x)/KN(e.y)}function c_(e,t){return e.translate===t.translate&&e.scale===t.scale&&e.originPoint===t.originPoint}class d_{constructor(){this.members=[]}add(e){py(this.members,e),e.scheduleRender()}remove(e){if(my(this.members,e),e===this.prevLead&&(this.prevLead=void 0),e===this.lead){const e=this.members[this.members.length-1];e&&this.promote(e)}}relegate(e){const t=this.members.findIndex(t=>e===t);if(0===t)return!1;let n;for(let r=t;r>=0;r--){const e=this.members[r];if(!1!==e.isPresent){n=e;break}}return!!n&&(this.promote(n),!0)}promote(e,t){const n=this.lead;if(e!==n&&(this.prevLead=n,this.lead=e,e.show(),n)){n.instance&&n.scheduleRender(),e.scheduleRender(),e.resumeFrom=n,t&&(e.resumeFrom.preserveOpacity=!0),n.snapshot&&(e.snapshot=n.snapshot,e.snapshot.latestValues=n.animationValues||n.latestValues),e.root&&e.root.isUpdating&&(e.isLayoutDirty=!0);!1===e.options.crossfade&&n.hide()}}exitAnimationComplete(){this.members.forEach(e=>{const t=e.options,n=e.resumingFrom;t.onExitComplete&&t.onExitComplete(),n&&n.options.onExitComplete&&n.options.onExitComplete()})}scheduleRender(){this.members.forEach(e=>{e.instance&&e.scheduleRender(!1)})}removeLeadSnapshot(){this.lead&&this.lead.snapshot&&(this.lead.snapshot=void 0)}}const u_={type:"projectionFrame",totalNodes:0,resolvedTargetDeltas:0,recalculatedProjection:0},h_="undefined"!==typeof window&&void 0!==window.MotionDebug,p_=["","X","Y","Z"],m_={visibility:"hidden"};let f_=0;function g_(e,t,n,r){const a=t.latestValues;a[e]&&(n[e]=a[e],t.setStaticValue(e,0),r&&(r[e]=0))}function x_(e){if(e.hasCheckedOptimisedAppear=!0,e.root===e)return;const t=e.options.visualElement;if(!t)return;const n=Cy(t);if(window.MotionHasOptimisedAnimation(n,"transform")){const t=e.options,r=t.layout,a=t.layoutId;window.MotionCancelOptimisedAnimation(n,"transform",iy,!(r||a))}const r=e.parent;r&&!r.hasCheckedOptimisedAppear&&x_(r)}function v_(e){let t=e.attachResizeListener,n=e.defaultParent,r=e.measureScroll,a=e.checkIsScrollRoot,s=e.resetTransform;return class{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null===n||void 0===n?void 0:n();this.id=f_++,this.animationId=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,h_&&(u_.totalNodes=u_.resolvedTargetDeltas=u_.recalculatedProjection=0),this.nodes.forEach(w_),this.nodes.forEach(T_),this.nodes.forEach(E_),this.nodes.forEach(j_),h_&&window.MotionDebug.record(u_)},this.resolvedRelativeTargetAt=0,this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=e,this.root=t?t.root||t:this,this.path=t?[...t.path,t]:[],this.parent=t,this.depth=t?t.depth+1:0;for(let n=0;n1?n-1:0),a=1;a1&&void 0!==arguments[1]?arguments[1]:this.root.hasTreeAnimated;if(this.instance)return;var r;this.isSVG=(r=e)instanceof SVGElement&&"svg"!==r.tagName,this.instance=e;const a=this.options,s=a.layoutId,i=a.layout,o=a.visualElement;if(o&&!o.current&&o.mount(e),this.root.nodes.add(this),this.parent&&this.parent.children.add(this),n&&(i||s)&&(this.isLayoutDirty=!0),t){let n;const r=()=>this.root.updateBlockedByResize=!1;t(e,()=>{this.root.updateBlockedByResize=!0,n&&n(),n=zk(r,250),Sk.hasAnimatedSinceResize&&(Sk.hasAnimatedSinceResize=!1,this.nodes.forEach(S_))})}s&&this.root.registerSharedNode(s,this),!1!==this.options.animate&&o&&(s||i)&&this.addEventListener("didUpdate",e=>{let t=e.delta,n=e.hasLayoutChanged,r=e.hasRelativeTargetChanged,a=e.layout;if(this.isTreeAnimationBlocked())return this.target=void 0,void(this.relativeTarget=void 0);const s=this.options.transition||o.getDefaultTransition()||F_,i=o.getProps(),c=i.onLayoutAnimationStart,d=i.onLayoutAnimationComplete,u=!this.targetLayout||!o_(this.targetLayout,a)||r,h=!n&&r;if(this.options.layoutRoot||this.resumeFrom&&this.resumeFrom.instance||h||n&&(u||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0),this.setAnimationOrigin(t,h);const e=l(l({},wb(s,"layout")),{},{onPlay:c,onComplete:d});(o.shouldReduceMotion||this.options.layoutRoot)&&(e.delay=0,e.type=!1),this.startAnimation(e)}else n||S_(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=a})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);const e=this.getStack();e&&e.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,oy(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(P_),this.animationId++)}getTransformTemplate(){const e=this.options.visualElement;return e&&e.getProps().transformTemplate}willUpdate(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked())return void(this.options.onExitComplete&&this.options.onExitComplete());if(window.MotionCancelOptimisedAnimation&&!this.hasCheckedOptimisedAppear&&x_(this),!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let s=0;s{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){!this.snapshot&&this.instance&&(this.snapshot=this.measure())}updateLayout(){if(!this.instance)return;if(this.updateScroll(),(!this.options.alwaysMeasureLayout||!this.isLead())&&!this.isLayoutDirty)return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let n=0;n0&&void 0!==arguments[0]?arguments[0]:"measure",t=Boolean(this.options.layoutScroll&&this.instance);if(this.scroll&&this.scroll.animationId===this.root.animationId&&this.scroll.phase===e&&(t=!1),t){const t=a(this.instance);this.scroll={animationId:this.root.animationId,phase:e,isRoot:t,offset:r(this.instance),wasRoot:this.scroll?this.scroll.isRoot:t}}}resetTransform(){if(!s)return;const e=this.isLayoutDirty||this.shouldResetTransform||this.options.alwaysMeasureLayout,t=this.projectionDelta&&!a_(this.projectionDelta),n=this.getTransformTemplate(),r=n?n(this.latestValues,""):void 0,a=r!==this.prevTransformTemplateValue;e&&(t||lk(this.latestValues)||a)&&(s(this.instance,r),this.shouldResetTransform=!1,this.scheduleRender())}measure(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];const t=this.measurePageBox();let n=this.removeElementScroll(t);var r;return e&&(n=this.removeTransform(n)),L_((r=n).x),L_(r.y),{animationId:this.root.animationId,measuredBox:t,layoutBox:n,latestValues:{},source:this.id}}measurePageBox(){var e;const t=this.options.visualElement;if(!t)return{x:{min:0,max:0},y:{min:0,max:0}};const n=t.measureViewportBox();if(!((null===(e=this.scroll)||void 0===e?void 0:e.wasRoot)||this.path.some(B_))){const e=this.root.scroll;e&&(xk(n.x,e.offset.x),xk(n.y,e.offset.y))}return n}removeElementScroll(e){var t;const n={x:{min:0,max:0},y:{min:0,max:0}};if(Yk(n,e),null===(t=this.scroll)||void 0===t?void 0:t.wasRoot)return n;for(let r=0;r1&&void 0!==arguments[1]&&arguments[1];const n={x:{min:0,max:0},y:{min:0,max:0}};Yk(n,e);for(let r=0;r0&&void 0!==arguments[0]&&arguments[0];var t;const n=this.getLead();this.isProjectionDirty||(this.isProjectionDirty=n.isProjectionDirty),this.isTransformDirty||(this.isTransformDirty=n.isTransformDirty),this.isSharedProjectionDirty||(this.isSharedProjectionDirty=n.isSharedProjectionDirty);const r=Boolean(this.resumingFrom)||this!==n;if(!(e||r&&this.isSharedProjectionDirty||this.isProjectionDirty||(null===(t=this.parent)||void 0===t?void 0:t.isProjectionDirty)||this.attemptToResolveRelativeTarget||this.root.updateBlockedByResize))return;const a=this.options,s=a.layout,i=a.layoutId;if(this.layout&&(s||i)){if(this.resolvedRelativeTargetAt=ly.timestamp,!this.targetDelta&&!this.relativeTarget){const e=this.getClosestProjectingParent();e&&e.layout&&1!==this.animationProgress?(this.relativeParent=e,this.forceRelativeParentToResolveTarget(),this.relativeTarget={x:{min:0,max:0},y:{min:0,max:0}},this.relativeTargetOrigin={x:{min:0,max:0},y:{min:0,max:0}},XN(this.relativeTargetOrigin,this.layout.layoutBox,e.layout.layoutBox),Yk(this.relativeTarget,this.relativeTargetOrigin)):this.relativeParent=this.relativeTarget=void 0}if(this.relativeTarget||this.targetDelta){var o,l,c;if(this.target||(this.target={x:{min:0,max:0},y:{min:0,max:0}},this.targetWithTransforms={x:{min:0,max:0},y:{min:0,max:0}}),this.relativeTarget&&this.relativeTargetOrigin&&this.relativeParent&&this.relativeParent.target?(this.forceRelativeParentToResolveTarget(),o=this.target,l=this.relativeTarget,c=this.relativeParent.target,ZN(o.x,l.x,c.x),ZN(o.y,l.y,c.y)):this.targetDelta?(Boolean(this.resumingFrom)?this.target=this.applyTransform(this.layout.layoutBox):Yk(this.target,this.layout.layoutBox),mk(this.target,this.targetDelta)):Yk(this.target,this.layout.layoutBox),this.attemptToResolveRelativeTarget){this.attemptToResolveRelativeTarget=!1;const e=this.getClosestProjectingParent();e&&Boolean(e.resumingFrom)===Boolean(this.resumingFrom)&&!e.options.layoutScroll&&e.target&&1!==this.animationProgress?(this.relativeParent=e,this.forceRelativeParentToResolveTarget(),this.relativeTarget={x:{min:0,max:0},y:{min:0,max:0}},this.relativeTargetOrigin={x:{min:0,max:0},y:{min:0,max:0}},XN(this.relativeTargetOrigin,this.target,e.target),Yk(this.relativeTarget,this.relativeTargetOrigin)):this.relativeParent=this.relativeTarget=void 0}h_&&u_.resolvedTargetDeltas++}}}getClosestProjectingParent(){if(this.parent&&!ok(this.parent.latestValues)&&!ck(this.parent.latestValues))return this.parent.isProjecting()?this.parent:this.parent.getClosestProjectingParent()}isProjecting(){return Boolean((this.relativeTarget||this.targetDelta||this.options.layoutRoot)&&this.layout)}calcProjection(){var e;const t=this.getLead(),n=Boolean(this.resumingFrom)||this!==t;let r=!0;if((this.isProjectionDirty||(null===(e=this.parent)||void 0===e?void 0:e.isProjectionDirty))&&(r=!1),n&&(this.isSharedProjectionDirty||this.isTransformDirty)&&(r=!1),this.resolvedRelativeTargetAt===ly.timestamp&&(r=!1),r)return;const a=this.options,s=a.layout,i=a.layoutId;if(this.isTreeAnimating=Boolean(this.parent&&this.parent.isTreeAnimating||this.currentAnimation||this.pendingAnimation),this.isTreeAnimating||(this.targetDelta=this.relativeTarget=void 0),!this.layout||!s&&!i)return;Yk(this.layoutCorrected,this.layout.layoutBox);const o=this.treeScale.x,l=this.treeScale.y;!function(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];const a=n.length;if(!a)return;let s,i;t.x=t.y=1;for(let o=0;ofk&&(t.x=1),t.yfk&&(t.y=1)}(this.layoutCorrected,this.treeScale,this.path,n),!t.layout||t.target||1===this.treeScale.x&&1===this.treeScale.y||(t.target=t.layout.layoutBox,t.targetWithTransforms={x:{min:0,max:0},y:{min:0,max:0}});const c=t.target;c?(this.projectionDelta&&this.prevProjectionDelta?(Xk(this.prevProjectionDelta.x,this.projectionDelta.x),Xk(this.prevProjectionDelta.y,this.projectionDelta.y)):this.createProjectionDeltas(),$N(this.projectionDelta,this.layoutCorrected,c,this.latestValues),this.treeScale.x===o&&this.treeScale.y===l&&c_(this.projectionDelta.x,this.prevProjectionDelta.x)&&c_(this.projectionDelta.y,this.prevProjectionDelta.y)||(this.hasProjected=!0,this.scheduleRender(),this.notifyListeners("projectionUpdate",c)),h_&&u_.recalculatedProjection++):this.prevProjectionDelta&&(this.createProjectionDeltas(),this.scheduleRender())}hide(){this.isVisible=!1}show(){this.isVisible=!0}scheduleRender(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];var t;if(null===(t=this.options.visualElement)||void 0===t||t.scheduleRender(),e){const e=this.getStack();e&&e.scheduleRender()}this.resumingFrom&&!this.resumingFrom.instance&&(this.resumingFrom=void 0)}createProjectionDeltas(){this.prevProjectionDelta={x:{translate:0,scale:1,origin:0,originPoint:0},y:{translate:0,scale:1,origin:0,originPoint:0}},this.projectionDelta={x:{translate:0,scale:1,origin:0,originPoint:0},y:{translate:0,scale:1,origin:0,originPoint:0}},this.projectionDeltaWithTransform={x:{translate:0,scale:1,origin:0,originPoint:0},y:{translate:0,scale:1,origin:0,originPoint:0}}}setAnimationOrigin(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const n=this.snapshot,r=n?n.latestValues:{},a=l({},this.latestValues),s={x:{translate:0,scale:1,origin:0,originPoint:0},y:{translate:0,scale:1,origin:0,originPoint:0}};this.relativeParent&&this.relativeParent.options.layoutRoot||(this.relativeTarget=this.relativeTargetOrigin=void 0),this.attemptToResolveRelativeTarget=!t;const i={x:{min:0,max:0},y:{min:0,max:0}},o=(n?n.source:void 0)!==(this.layout?this.layout.source:void 0),c=this.getStack(),d=!c||c.members.length<=1,u=Boolean(o&&!d&&!0===this.options.crossfade&&!this.path.some(D_));let h;this.animationProgress=0,this.mixTargetDelta=t=>{const n=t/1e3;var l,c;O_(s.x,e.x,n),O_(s.y,e.y,n),this.setTargetDelta(s),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(XN(i,this.layout.layoutBox,this.relativeParent.layout.layoutBox),function(e,t,n,r){I_(e.x,t.x,n.x,r),I_(e.y,t.y,n.y,r)}(this.relativeTarget,this.relativeTargetOrigin,i,n),h&&(l=this.relativeTarget,c=h,s_(l.x,c.x)&&s_(l.y,c.y))&&(this.isProjectionDirty=!1),h||(h={x:{min:0,max:0},y:{min:0,max:0}}),Yk(h,this.relativeTarget)),o&&(this.animationValues=a,function(e,t,n,r,a,s){a?(e.opacity=oj(0,void 0!==n.opacity?n.opacity:1,Kk(r)),e.opacityExit=oj(void 0!==t.opacity?t.opacity:1,0,qk(r))):s&&(e.opacity=oj(void 0!==t.opacity?t.opacity:1,void 0!==n.opacity?n.opacity:1,r));for(let i=0;i{Sk.hasAnimatedSinceResize=!0,this.currentAnimation=function(e,t,n){const r=jy(e)?e:by(e);return r.start(fN("",r,t,n)),r.animation}(0,1e3,l(l({},e),{},{onUpdate:t=>{this.mixTargetDelta(t),e.onUpdate&&e.onUpdate(t)},onComplete:()=>{e.onComplete&&e.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 e=this.getStack();e&&e.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners("animationComplete")}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(1e3),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){const e=this.getLead();let t=e.targetWithTransforms,n=e.target,r=e.layout,a=e.latestValues;if(t&&n&&r){if(this!==e&&this.layout&&r&&z_(this.options.animationType,this.layout.layoutBox,r.layoutBox)){n=this.target||{x:{min:0,max:0},y:{min:0,max:0}};const t=KN(this.layout.layoutBox.x);n.x.min=e.target.x.min,n.x.max=n.x.min+t;const r=KN(this.layout.layoutBox.y);n.y.min=e.target.y.min,n.y.max=n.y.min+r}Yk(t,n),bk(t,a),$N(this.projectionDeltaWithTransform,this.layoutCorrected,t,a)}}registerSharedNode(e,t){this.sharedNodes.has(e)||this.sharedNodes.set(e,new d_);this.sharedNodes.get(e).add(t);const n=t.options.initialPromotionConfig;t.promote({transition:n?n.transition:void 0,preserveFollowOpacity:n&&n.shouldPreserveFollowOpacity?n.shouldPreserveFollowOpacity(t):void 0})}isLead(){const e=this.getStack();return!e||e.lead===this}getLead(){var e;return this.options.layoutId&&(null===(e=this.getStack())||void 0===e?void 0:e.lead)||this}getPrevLead(){var e;return this.options.layoutId?null===(e=this.getStack())||void 0===e?void 0:e.prevLead:void 0}getStack(){const e=this.options.layoutId;if(e)return this.root.sharedNodes.get(e)}promote(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.needsReset,n=e.transition,r=e.preserveFollowOpacity;const a=this.getStack();a&&a.promote(this,r),t&&(this.projectionDelta=void 0,this.needsReset=!0),n&&this.setOptions({transition:n})}relegate(){const e=this.getStack();return!!e&&e.relegate(this)}resetSkewAndRotation(){const e=this.options.visualElement;if(!e)return;let t=!1;const n=e.latestValues;if((n.z||n.rotate||n.rotateX||n.rotateY||n.rotateZ||n.skewX||n.skewY)&&(t=!0),!t)return;const r={};n.z&&g_("z",e,r,this.animationValues);for(let a=0;a{var t;return null===(t=e.currentAnimation)||void 0===t?void 0:t.stop()}),this.root.nodes.forEach(k_),this.root.sharedNodes.clear()}}}function b_(e){e.updateLayout()}function y_(e){var t;const n=(null===(t=e.resumeFrom)||void 0===t?void 0:t.snapshot)||e.snapshot;if(e.isLead()&&e.layout&&n&&e.hasListeners("didUpdate")){const t=e.layout,r=t.layoutBox,a=t.measuredBox,s=e.options.animationType,i=n.source!==e.layout.source;"size"===s?ak(e=>{const t=i?n.measuredBox[e]:n.layoutBox[e],a=KN(t);t.min=r[e].min,t.max=t.min+a}):z_(s,n.layoutBox,r)&&ak(t=>{const a=i?n.measuredBox[t]:n.layoutBox[t],s=KN(r[t]);a.max=a.min+s,e.relativeTarget&&!e.currentAnimation&&(e.isProjectionDirty=!0,e.relativeTarget[t].max=e.relativeTarget[t].min+s)});const o={x:{translate:0,scale:1,origin:0,originPoint:0},y:{translate:0,scale:1,origin:0,originPoint:0}};$N(o,r,n.layoutBox);const l={x:{translate:0,scale:1,origin:0,originPoint:0},y:{translate:0,scale:1,origin:0,originPoint:0}};i?$N(l,e.applyTransform(a,!0),n.measuredBox):$N(l,r,n.layoutBox);const c=!a_(o);let d=!1;if(!e.resumeFrom){const t=e.getClosestProjectingParent();if(t&&!t.resumeFrom){const a=t.snapshot,s=t.layout;if(a&&s){const i={x:{min:0,max:0},y:{min:0,max:0}};XN(i,n.layoutBox,a.layoutBox);const o={x:{min:0,max:0},y:{min:0,max:0}};XN(o,r,s.layoutBox),o_(i,o)||(d=!0),t.options.layoutRoot&&(e.relativeTarget=o,e.relativeTargetOrigin=i,e.relativeParent=t)}}}e.notifyListeners("didUpdate",{layout:r,snapshot:n,delta:l,layoutDelta:o,hasLayoutChanged:c,hasRelativeTargetChanged:d})}else if(e.isLead()){const t=e.options.onExitComplete;t&&t()}e.options.transition=void 0}function w_(e){h_&&u_.totalNodes++,e.parent&&(e.isProjecting()||(e.isProjectionDirty=e.parent.isProjectionDirty),e.isSharedProjectionDirty||(e.isSharedProjectionDirty=Boolean(e.isProjectionDirty||e.parent.isProjectionDirty||e.parent.isSharedProjectionDirty)),e.isTransformDirty||(e.isTransformDirty=e.parent.isTransformDirty))}function j_(e){e.isProjectionDirty=e.isSharedProjectionDirty=e.isTransformDirty=!1}function N_(e){e.clearSnapshot()}function k_(e){e.clearMeasurements()}function __(e){e.isLayoutDirty=!1}function C_(e){const t=e.options.visualElement;t&&t.getProps().onBeforeLayoutMeasure&&t.notify("BeforeLayoutMeasure"),e.resetTransform()}function S_(e){e.finishAnimation(),e.targetDelta=e.relativeTarget=e.target=void 0,e.isProjectionDirty=!0}function T_(e){e.resolveTargetDelta()}function E_(e){e.calcProjection()}function P_(e){e.resetSkewAndRotation()}function A_(e){e.removeLeadSnapshot()}function O_(e,t,n){e.translate=oj(t.translate,0,n),e.scale=oj(t.scale,1,n),e.origin=t.origin,e.originPoint=t.originPoint}function I_(e,t,n,r){e.min=oj(t.min,n.min,r),e.max=oj(t.max,n.max,r)}function D_(e){return e.animationValues&&void 0!==e.animationValues.opacityExit}const F_={duration:.45,ease:[.4,0,.1,1]},R_=e=>"undefined"!==typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().includes(e),M_=R_("applewebkit/")&&!R_("chrome/")?Math.round:Yb;function L_(e){e.min=M_(e.min),e.max=M_(e.max)}function z_(e,t,n){return"position"===e||"preserve-aspect"===e&&(r=l_(t),a=l_(n),s=.2,!(Math.abs(r-a)<=s));var r,a,s}function B_(e){var t;return e!==e.root&&(null===(t=e.scroll)||void 0===t?void 0:t.wasRoot)}const U_=v_({attachResizeListener:(e,t)=>DN(e,"resize",t),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body.scrollLeft,y:document.documentElement.scrollTop||document.body.scrollTop}),checkIsScrollRoot:()=>!0}),V_={current:void 0},W_=v_({measureScroll:e=>({x:e.scrollLeft,y:e.scrollTop}),defaultParent:()=>{if(!V_.current){const e=new U_({});e.mount(window),e.setOptions({layoutScroll:!0}),V_.current=e}return V_.current},resetTransform:(e,t)=>{e.style.transform=void 0!==t?t:"none"},checkIsScrollRoot:e=>Boolean("fixed"===window.getComputedStyle(e).position)}),H_={pan:{Feature:class extends AN{constructor(){super(...arguments),this.removePointerDownListener=Yb}onPointerDown(e){this.session=new LN(e,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint(),contextWindow:wk(this.node)})}createPanHandlers(){const e=this.node.getProps(),t=e.onPanSessionStart,n=e.onPanStart,r=e.onPan,a=e.onPanEnd;return{onSessionStart:_k(t),onStart:_k(n),onMove:r,onEnd:(e,t)=>{delete this.session,a&&iy.postRender(()=>a(e,t))}}}mount(){this.removePointerDownListener=RN(this.node.current,"pointerdown",e=>this.onPointerDown(e))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}}},drag:{Feature:class extends AN{constructor(e){super(e),this.removeGroupControls=Yb,this.removeListeners=Yb,this.controls=new Nk(e)}mount(){const e=this.node.getProps().dragControls;e&&(this.removeGroupControls=e.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||Yb}unmount(){this.removeGroupControls(),this.removeListeners()}},ProjectionNode:W_,MeasureLayout:Fk}};function G_(e,t,n){const r=e.props;e.animationState&&r.whileHover&&e.animationState.setActive("whileHover","Start"===n);const a=r["onHover"+n];a&&iy.postRender(()=>a(t,FN(t)))}function K_(e,t,n){const r=e.props;e.animationState&&r.whileTap&&e.animationState.setActive("whileTap","Start"===n);const a=r["onTap"+("End"===n?"":n)];a&&iy.postRender(()=>a(t,FN(t)))}const q_=["root"],$_=new WeakMap,Z_=new WeakMap,Y_=e=>{const t=$_.get(e.target);t&&t(e)},X_=e=>{e.forEach(Y_)};function J_(e,t,n){const r=function(e){let t=e.root,n=Ae(e,q_);const r=t||document;Z_.has(r)||Z_.set(r,{});const a=Z_.get(r),s=JSON.stringify(n);return a[s]||(a[s]=new IntersectionObserver(X_,l({root:t},n))),a[s]}(t);return $_.set(e,n),r.observe(e),()=>{$_.delete(e),r.unobserve(e)}}const Q_={some:0,all:1};const eC={inView:{Feature:class extends AN{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){this.unmount();const e=this.node.getProps().viewport,t=void 0===e?{}:e,n=t.root,r=t.margin,a=t.amount,s=void 0===a?"some":a,i=t.once,o={root:n?n.current:void 0,rootMargin:r,threshold:"number"===typeof s?s:Q_[s]};return J_(this.node.current,o,e=>{const t=e.isIntersecting;if(this.isInView===t)return;if(this.isInView=t,i&&!t&&this.hasEnteredView)return;t&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive("whileInView",t);const n=this.node.getProps(),r=n.onViewportEnter,a=n.onViewportLeave,s=t?r:a;s&&s(e)})}mount(){this.startObserver()}update(){if("undefined"===typeof IntersectionObserver)return;const e=this.node,t=e.props,n=e.prevProps,r=["amount","margin","root"].some(function(e){let t=e.viewport,n=void 0===t?{}:t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=r.viewport,s=void 0===a?{}:a;return e=>n[e]!==s[e]}(t,n));r&&this.startObserver()}unmount(){}}},tap:{Feature:class extends AN{mount(){const e=this.node.current;e&&(this.unmount=qb(e,e=>(K_(this.node,e,"Start"),(e,t)=>{let n=t.success;return K_(this.node,e,n?"End":"Cancel")}),{useGlobalTarget:this.node.props.globalTapTarget}))}unmount(){}}},focus:{Feature:class extends AN{constructor(){super(...arguments),this.isActive=!1}onFocus(){let e=!1;try{e=this.node.current.matches(":focus-visible")}catch(yS){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=fj(DN(this.node.current,"focus",()=>this.onFocus()),DN(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}},hover:{Feature:class extends AN{mount(){const e=this.node.current;e&&(this.unmount=function(e,t){const n=p(Lb(e,arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}),3),r=n[0],a=n[1],s=n[2],i=zb(e=>{const n=e.target,r=t(e);if("function"!==typeof r||!n)return;const s=zb(e=>{r(e),n.removeEventListener("pointerleave",s)});n.addEventListener("pointerleave",s,a)});return r.forEach(e=>{e.addEventListener("pointerenter",i,a)}),s}(e,e=>(G_(this.node,e,"Start"),e=>G_(this.node,e,"End"))))}unmount(){}}}},tC={layout:{ProjectionNode:W_,MeasureLayout:Fk}},nC=(0,e.createContext)({strict:!1}),rC=(0,e.createContext)({});function aC(e){return lb(e.animate)||gb.some(t=>ub(e[t]))}function sC(e){return Boolean(aC(e)||e.variants)}function iC(t){const n=function(e,t){if(aC(e)){const t=e.initial,n=e.animate;return{initial:!1===t||ub(t)?t:void 0,animate:ub(n)?n:void 0}}return!1!==e.inherit?t:{}}(t,(0,e.useContext)(rC)),r=n.initial,a=n.animate;return(0,e.useMemo)(()=>({initial:r,animate:a}),[oC(r),oC(a)])}function oC(e){return Array.isArray(e)?e.join(" "):e}const lC={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"]},cC={};for(const n in lC)cC[n]={isEnabled:e=>lC[n].some(t=>!!e[t])};const dC=Symbol.for("motionComponentSymbol");function uC(t,n,r){return(0,e.useCallback)(e=>{e&&t.onMount&&t.onMount(e),n&&(e?n.mount(e):n.unmount()),r&&("function"===typeof r?r(e):GN(r)&&(r.current=e))},[n])}function hC(t,n,r,a,s){var i,o;const l=(0,e.useContext)(rC).visualElement,c=(0,e.useContext)(nC),d=(0,e.useContext)(Zv),u=(0,e.useContext)(Yv).reducedMotion,h=(0,e.useRef)(null);a=a||c.renderer,!h.current&&a&&(h.current=a(t,{visualState:n,parent:l,props:r,presenceContext:d,blockInitialAnimation:!!d&&!1===d.initial,reducedMotionConfig:u}));const p=h.current,m=(0,e.useContext)(Ck);!p||p.projection||!s||"html"!==p.type&&"svg"!==p.type||function(e,t,n,r){const a=t.layoutId,s=t.layout,i=t.drag,o=t.dragConstraints,l=t.layoutScroll,c=t.layoutRoot;e.projection=new n(e.latestValues,t["data-framer-portal-id"]?void 0:pC(e.parent)),e.projection.setOptions({layoutId:a,layout:s,alwaysMeasureLayout:Boolean(i)||o&&GN(o),visualElement:e,animationType:"string"===typeof s?s:"both",initialPromotionConfig:r,layoutScroll:l,layoutRoot:c})}(h.current,r,s,m);const f=(0,e.useRef)(!1);(0,e.useInsertionEffect)(()=>{p&&f.current&&p.update(r,d)});const g=r[_y],x=(0,e.useRef)(Boolean(g)&&!(null===(i=window.MotionHandoffIsComplete)||void 0===i?void 0:i.call(window,g))&&(null===(o=window.MotionHasOptimisedAnimation)||void 0===o?void 0:o.call(window,g)));return sb(()=>{p&&(f.current=!0,window.MotionIsMounted=!0,p.updateFeatures(),Ik.render(p.render),x.current&&p.animationState&&p.animationState.animateChanges())}),(0,e.useEffect)(()=>{p&&(!x.current&&p.animationState&&p.animationState.animateChanges(),x.current&&(queueMicrotask(()=>{var e;null===(e=window.MotionHandoffMarkAsComplete)||void 0===e||e.call(window,g)}),x.current=!1))}),p}function pC(e){if(e)return!1!==e.options.allowProjection?e.projection:pC(e.parent)}function mC(t){let n=t.preloadedFeatures,r=t.createVisualElement,a=t.useRender,s=t.useVisualState,i=t.Component;var o,c;function d(t,n){let o;const c=l(l(l({},(0,e.useContext)(Yv)),t),{},{layoutId:fC(t)}),d=c.isStatic,u=iC(t),h=s(t,d);if(!d&&ab){!function(){(0,e.useContext)(nC).strict;0}();const t=function(e){const t=cC.drag,n=cC.layout;if(!t&&!n)return{};const r=l(l({},t),n);return{MeasureLayout:(null===t||void 0===t?void 0:t.isEnabled(e))||(null===n||void 0===n?void 0:n.isEnabled(e))?r.MeasureLayout:void 0,ProjectionNode:r.ProjectionNode}}(c);o=t.MeasureLayout,u.visualElement=hC(i,h,c,r,t.ProjectionNode)}return(0,Ve.jsxs)(rC.Provider,{value:u,children:[o&&u.visualElement?(0,Ve.jsx)(o,l({visualElement:u.visualElement},c)):null,a(i,t,uC(h,u.visualElement,n),h,d,u.visualElement)]})}n&&function(e){for(const t in e)cC[t]=l(l({},cC[t]),e[t])}(n),d.displayName="motion.".concat("string"===typeof i?i:"create(".concat(null!==(c=null!==(o=i.displayName)&&void 0!==o?o:i.name)&&void 0!==c?c:"",")"));const u=(0,e.forwardRef)(d);return u[dC]=i,u}function fC(t){let n=t.layoutId;const r=(0,e.useContext)(qv).id;return r&&void 0!==n?r+"-"+n:n}const gC=["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 xC(e){return"string"===typeof e&&!e.includes("-")&&!!(gC.indexOf(e)>-1||/[A-Z]/.test(e))}const vC=["transitionEnd","transition"];const bC=t=>(n,r)=>{const a=(0,e.useContext)(rC),s=(0,e.useContext)(Zv),i=()=>function(e,t,n,r){let a=e.scrapeMotionValuesFromProps,s=e.createRenderState,i=e.onUpdate;const o={latestValues:yC(t,n,r,a),renderState:s()};return i&&(o.onMount=e=>i(l({props:t,current:e},o)),o.onUpdate=e=>i(e)),o}(t,n,a,s);return r?i():$v(i)};function yC(e,t,n,r){const a={},s=r(e,{});for(const h in s)a[h]=Bk(s[h]);let i=e.initial,o=e.animate;const l=aC(e),c=sC(e);t&&c&&!l&&!1!==e.inherit&&(void 0===i&&(i=t.initial),void 0===o&&(o=t.animate));let d=!!n&&!1===n.initial;d=d||!1===i;const u=d?o:i;if(u&&"boolean"!==typeof u&&!lb(u)){const t=Array.isArray(u)?u:[u];for(let n=0;nt&&"number"===typeof e?t.transform(e):e,jC={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},NC=Xb.length;function kC(e,t,n){const r=e.style,a=e.vars,s=e.transformOrigin;let i=!1,o=!1;for(const l in t){const e=t[l];if(Jb.has(l))i=!0;else if(Gw(l))a[l]=e;else{const t=wC(e,kw[l]);l.startsWith("origin")?(o=!0,s[l]=t):r[l]=t}}if(t.transform||(i||n?r.transform=function(e,t,n){let r="",a=!0;for(let s=0;s2&&void 0!==arguments[2]?arguments[2]:1,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,a=!(arguments.length>4&&void 0!==arguments[4])||arguments[4];e.pathLength=1;const s=a?_C:CC;e[s.offset]=nw.transform(-r);const i=nw.transform(t),o=nw.transform(n);e[s.array]="".concat(i," ").concat(o)}(m,c,u,p,!1)}const PC=()=>({style:{},transform:{},transformOrigin:{},vars:{}}),AC=()=>l(l({},{style:{},transform:{},transformOrigin:{},vars:{}}),{},{attrs:{}}),OC=e=>"string"===typeof e&&"svg"===e.toLowerCase();function IC(e,t,n,r){let a=t.style,s=t.vars;Object.assign(e.style,a,r&&r.getProjectionStyles(n));for(const i in s)e.style.setProperty(i,s[i])}const DC=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 FC(e,t,n,r){IC(e,t,void 0,r);for(const a in t.attrs)e.setAttribute(DC.has(a)?a:ky(a),t.attrs[a])}function RC(e,t){let n=t.layout,r=t.layoutId;return Jb.has(e)||e.startsWith("origin")||(n||void 0!==r)&&(!!Ak[e]||"opacity"===e)}function MC(e,t,n){var r;const a=e.style,s={};for(const i in a)(jy(a[i])||t.style&&jy(t.style[i])||RC(i,e)||void 0!==(null===(r=null===n||void 0===n?void 0:n.getValue(i))||void 0===r?void 0:r.liveStyle))&&(s[i]=a[i]);return s}function LC(e,t,n){const r=MC(e,t,n);for(const a in e)if(jy(e[a])||jy(t[a])){r[-1!==Xb.indexOf(a)?"attr"+a.charAt(0).toUpperCase()+a.substring(1):a]=e[a]}return r}const zC=["x","y","width","height","cx","cy","r"],BC={useVisualState:bC({scrapeMotionValuesFromProps:LC,createRenderState:AC,onUpdate:e=>{let t=e.props,n=e.prevProps,r=e.current,a=e.renderState,s=e.latestValues;if(!r)return;let i=!!t.drag;if(!i)for(const l in s)if(Jb.has(l)){i=!0;break}if(!i)return;let o=!n;if(n)for(let l=0;l{!function(e,t){try{t.dimensions="function"===typeof e.getBBox?e.getBBox():e.getBoundingClientRect()}catch(yS){t.dimensions={x:0,y:0,width:0,height:0}}}(r,a),iy.render(()=>{EC(a,s,OC(r.tagName),t.transformTemplate),FC(r,a)})})}})},UC={useVisualState:bC({scrapeMotionValuesFromProps:MC,createRenderState:PC})};function VC(e,t,n){for(const r in t)jy(t[r])||RC(r,n)||(e[r]=t[r])}function WC(t,n){const r={};return VC(r,t.style||{},t),Object.assign(r,function(t,n){let r=t.transformTemplate;return(0,e.useMemo)(()=>{const e={style:{},transform:{},transformOrigin:{},vars:{}};return kC(e,n,r),Object.assign({},e.vars,e.style)},[n])}(t,n)),r}function HC(e,t){const n={},r=WC(e,t);return e.drag&&!1!==e.dragListener&&(n.draggable=!1,r.userSelect=r.WebkitUserSelect=r.WebkitTouchCallout="none",r.touchAction=!0===e.drag?"none":"pan-".concat("x"===e.drag?"y":"x")),void 0===e.tabIndex&&(e.onTap||e.onTapStart||e.whileTap)&&(n.tabIndex=0),n.style=r,n}const GC=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 KC(e){return e.startsWith("while")||e.startsWith("drag")&&"draggable"!==e||e.startsWith("layout")||e.startsWith("onTap")||e.startsWith("onPan")||e.startsWith("onLayout")||GC.has(e)}let qC=e=>!KC(e);try{($C=require("@emotion/is-prop-valid").default)&&(qC=e=>e.startsWith("on")?!KC(e):$C(e))}catch(wS){}var $C;function ZC(t,n,r,a){const s=(0,e.useMemo)(()=>{const e=AC();return EC(e,n,OC(a),t.transformTemplate),l(l({},e.attrs),{},{style:l({},e.style)})},[n]);if(t.style){const e={};VC(e,t.style,t),s.style=l(l({},e),s.style)}return s}function YC(){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return(n,r,a,s,i)=>{let o=s.latestValues;const c=(xC(n)?ZC:HC)(r,o,i,n),d=function(e,t,n){const r={};for(const a in e)"values"===a&&"object"===typeof e.values||(qC(a)||!0===n&&KC(a)||!t&&!KC(a)||e.draggable&&a.startsWith("onDrag"))&&(r[a]=e[a]);return r}(r,"string"===typeof n,t),u=n!==e.Fragment?l(l(l({},d),c),{},{ref:a}):{},h=r.children,p=(0,e.useMemo)(()=>jy(h)?h.get():h,[h]);return(0,e.createElement)(n,l(l({},u),{},{children:p}))}}function XC(e,t){return function(n){let r=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{forwardMotionProps:!1}).forwardMotionProps;return mC(l(l({},xC(n)?BC:UC),{},{preloadedFeatures:e,useRender:YC(r),createVisualElement:t,Component:n}))}}const JC={current:null},QC={current:!1};const eS=[...Jw,ow,gw],tS=new WeakMap;const nS=["willChange"],rS=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"];class aS{scrapeMotionValuesFromProps(e,t,n){return{}}constructor(e){let t=e.parent,n=e.props,r=e.presenceContext,a=e.reducedMotionConfig,s=e.blockInitialAnimation,i=e.visualState,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.values=new Map,this.KeyframeResolver=Bw,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 e=hy.now();this.renderScheduledAtthis.bindToMotionValue(t,e)),QC.current||function(){if(QC.current=!0,ab)if(window.matchMedia){const e=window.matchMedia("(prefers-reduced-motion)"),t=()=>JC.current=e.matches;e.addListener(t),t()}else JC.current=!1}(),this.shouldReduceMotion="never"!==this.reducedMotionConfig&&("always"===this.reducedMotionConfig||JC.current),this.parent&&this.parent.children.add(this),this.update(this.props,this.presenceContext)}unmount(){tS.delete(this.current),this.projection&&this.projection.unmount(),oy(this.notifyUpdate),oy(this.render),this.valueSubscriptions.forEach(e=>e()),this.valueSubscriptions.clear(),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent&&this.parent.children.delete(this);for(const e in this.events)this.events[e].clear();for(const e in this.features){const t=this.features[e];t&&(t.unmount(),t.isMounted=!1)}this.current=null}bindToMotionValue(e,t){this.valueSubscriptions.has(e)&&this.valueSubscriptions.get(e)();const n=Jb.has(e),r=t.on("change",t=>{this.latestValues[e]=t,this.props.onUpdate&&iy.preRender(this.notifyUpdate),n&&this.projection&&(this.projection.isTransformDirty=!0)}),a=t.on("renderRequest",this.scheduleRender);let s;window.MotionCheckAppearSync&&(s=window.MotionCheckAppearSync(this,e,t)),this.valueSubscriptions.set(e,()=>{r(),a(),s&&s(),t.owner&&t.stop()})}sortNodePosition(e){return this.current&&this.sortInstanceNodePosition&&this.type===e.type?this.sortInstanceNodePosition(this.current,e.current):0}updateFeatures(){let e="animation";for(e in cC){const t=cC[e];if(!t)continue;const n=t.isEnabled,r=t.Feature;if(!this.features[e]&&r&&n(this.props)&&(this.features[e]=new r(this)),this.features[e]){const t=this.features[e];t.isMounted?t.update():(t.mount(),t.isMounted=!0)}}}triggerBuild(){this.build(this.renderState,this.latestValues,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):{x:{min:0,max:0},y:{min:0,max:0}}}getStaticValue(e){return this.latestValues[e]}setStaticValue(e,t){this.latestValues[e]=t}update(e,t){(e.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=e,this.prevPresenceContext=this.presenceContext,this.presenceContext=t;for(let n=0;nt.variantChildren.delete(e)}addValue(e,t){const n=this.values.get(e);t!==n&&(n&&this.removeValue(e),this.bindToMotionValue(e,t),this.values.set(e,t),this.latestValues[e]=t.get())}removeValue(e){this.values.delete(e);const t=this.valueSubscriptions.get(e);t&&(t(),this.valueSubscriptions.delete(e)),delete this.latestValues[e],this.removeValueFromRenderState(e,this.renderState)}hasValue(e){return this.values.has(e)}getValue(e,t){if(this.props.values&&this.props.values[e])return this.props.values[e];let n=this.values.get(e);return void 0===n&&void 0!==t&&(n=by(null===t?void 0:t,{owner:this}),this.addValue(e,n)),n}readValue(e,t){var n;let r=void 0===this.latestValues[e]&&this.current?null!==(n=this.getBaseTargetFromProps(this.props,e))&&void 0!==n?n:this.readValueFromInstance(this.current,e,this.options):this.latestValues[e];var a;return void 0!==r&&null!==r&&("string"===typeof r&&(Ww(r)||zy(r))?r=parseFloat(r):(a=r,!eS.find(Xw(a))&&gw.test(t)&&(r=Sw(e,t))),this.setBaseTarget(e,jy(r)?r.get():r)),jy(r)?r.get():r}setBaseTarget(e,t){this.baseTarget[e]=t}getBaseTarget(e){var t;const n=this.props.initial;let r;if("string"===typeof n||"object"===typeof n){const a=pb(this.props,n,null===(t=this.presenceContext)||void 0===t?void 0:t.custom);a&&(r=a[e])}if(n&&void 0!==r)return r;const a=this.getBaseTargetFromProps(this.props,e);return void 0===a||jy(a)?void 0!==this.initialValues[e]&&void 0===r?void 0:this.baseTarget[e]:a}on(e,t){return this.events[e]||(this.events[e]=new fy),this.events[e].add(t)}notify(e){if(this.events[e]){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r{this.current&&(this.current.textContent="".concat(e))}))}}class iS extends sS{constructor(){super(...arguments),this.type="html",this.renderInstance=IC}readValueFromInstance(e,t){if(Jb.has(t)){const e=Cw(t);return e&&e.default||0}{const r=(n=e,window.getComputedStyle(n)),a=(Gw(t)?r.getPropertyValue(t):r[t])||0;return"string"===typeof a?a.trim():a}var n}measureInstanceViewportBox(e,t){return yk(e,t.transformPagePoint)}build(e,t,n){kC(e,t,n.transformTemplate)}scrapeMotionValuesFromProps(e,t,n){return MC(e,t,n)}}class oS extends sS{constructor(){super(...arguments),this.type="svg",this.isSVGTag=!1,this.measureInstanceViewportBox=rk}getBaseTargetFromProps(e,t){return e[t]}readValueFromInstance(e,t){if(Jb.has(t)){const e=Cw(t);return e&&e.default||0}return t=DC.has(t)?t:ky(t),e.getAttribute(t)}scrapeMotionValuesFromProps(e,t,n){return LC(e,t,n)}build(e,t,n){EC(e,t,this.isSVGTag,n.transformTemplate)}renderInstance(e,t,n,r){FC(e,t,0,r)}mount(e){this.isSVGTag=OC(e.tagName),super.mount(e)}}const lS=(t,n)=>xC(t)?new oS(n):new iS(n,{allowProjection:t!==e.Fragment}),cS=ob(XC(l(l(l(l({},IN),eC),H_),tC),lS)),dS=Me("Bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]),uS=Me("Send",[["path",{d:"m22 2-7 20-4-9-9-4Z",key:"1q3vgg"}],["path",{d:"M22 2 11 13",key:"nzbqef"}]]),hS=[{keywords:["install","setup","how to use","get started","npm","yarn"],response:'To use GlassyUI-Components, simply navigate to the "Explore Components" section, choose a component, and copy its code directly into your React project. Make sure you have Tailwind CSS or support for CSS backdrop-filter enabled in your styling setup.'},{keywords:["button","buttons"],response:'Our glassmorphic buttons feature subtle glow effects, smooth hover animations, and translucent borders. You can view the details and copy the styles in the "Button" component page.'},{keywords:["card","cards"],response:'Cards are the core of glassmorphism. They feature multi-layered drop shadows, backdrop blur filters, and thin semi-transparent white borders to mimic real frosted glass. View them in the "Card" component page.'},{keywords:["contribute","github","gssoc","pr","open source","issue"],response:"We welcome all contributions! You can find our repository at https://github.com/Jaishree2310/GlassyUI-Components. Fork the repo, look for open issues (including GSSOC tasks), and submit a pull request."},{keywords:["donate","sponsor","money","support"],response:'You can support our open-source journey by clicking "Sponsor" in the navbar, or by heading directly to the "/donate" page. Thank you for supporting the community!'},{keywords:["components","list","what do you have","available"],response:"We offer a wide range of glassy components: Buttons, Cards, Inputs, Textareas, Modals, Calendars, Tooltips, Navigation headers, Progress Bars, Speed Dial menus, and much more!"},{keywords:["about","mission","creator","who made","glassyui"],response:"GlassyUI-Components is a community-driven project created to bring stunning, accessible glassmorphic UI elements to modern web developers. It was initiated by Jaishree2310 and developed by dozens of talented contributors."},{keywords:["contact","email","support","help"],response:'You can get in touch with us through the "Contact Us" page on our website, or by creating a GitHub issue for technical feedback.'},{keywords:["hello","hi","hey","greetings","yo"],response:"Hello! I am your GlassyUI Assistant. Ask me anything about our components, how to install them, or how to contribute to our open-source project!"}],pS=()=>{const t=p((0,e.useState)(!1),2),n=t[0],r=t[1],a=p((0,e.useState)(window.innerWidth<1024),2),s=a[0],i=a[1],o=p((0,e.useState)([{id:"welcome",text:"Hi there! I am your GlassyUI Assistant. How can I help you build beautiful glassmorphism interfaces today?",sender:"bot",timestamp:new Date}]),2),l=o[0],c=o[1],d=p((0,e.useState)(""),2),u=d[0],h=d[1],m=p((0,e.useState)(!1),2),f=m[0],g=m[1],x=(0,e.useRef)(null);(0,e.useEffect)(()=>{x.current&&x.current.scrollIntoView({behavior:"smooth"})},[l,f]),(0,e.useEffect)(()=>{const e=()=>{i(window.innerWidth<1024)};return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]);const v=()=>{if(!u.trim())return;const e={id:Math.random().toString(36).substring(7),text:u.trim(),sender:"user",timestamp:new Date};c(t=>[...t,e]),h(""),g(!0),setTimeout(()=>{const t=(e=>{const t=e.toLowerCase();for(const n of hS)if(n.keywords.some(e=>t.includes(e)))return n.response;return"That's a great question! While I don't have a specific answer for that, you can check our official documentation, open a GitHub discussion, or ask the maintainers directly on our repository at github.com/Jaishree2310/GlassyUI-Components."})(e.text),n={id:Math.random().toString(36).substring(7),text:t,sender:"bot",timestamp:new Date};c(e=>[...e,n]),g(!1)},1e3)};return(0,Ve.jsxs)("div",{className:"fixed lg:bottom-6 lg:right-6 bottom-[100px] right-4 z-50 font-sans flex flex-col items-end",style:s?{bottom:"100px",right:"16px"}:void 0,children:[(0,Ve.jsx)(ib,{children:n&&(0,Ve.jsxs)(cS.div,{initial:{opacity:0,y:50,scale:.9},animate:{opacity:1,y:0,scale:1},exit:{opacity:0,y:50,scale:.9},transition:{duration:.3,ease:"easeOut"},className:"w-[350px] sm:w-[400px] h-[500px] rounded-2xl border shadow-2xl backdrop-blur-xl bg-white/85 dark:bg-slate-900/80 border-slate-200 dark:border-white/20 text-slate-800 dark:text-white flex flex-col overflow-hidden mb-4",children:[(0,Ve.jsxs)("div",{className:"px-6 py-4 border-b border-slate-200 dark:border-white/10 flex items-center justify-between bg-gradient-to-r from-blue-600/30 to-purple-600/30",children:[(0,Ve.jsxs)("div",{className:"flex items-center gap-3",children:[(0,Ve.jsx)("div",{className:"p-2 rounded-lg bg-blue-500/20 border border-blue-400/30 text-blue-500 dark:text-blue-400",children:(0,Ve.jsx)(dS,{size:20})}),(0,Ve.jsxs)("div",{children:[(0,Ve.jsxs)("h3",{className:"font-semibold text-sm flex items-center gap-1.5 text-slate-800 dark:text-white",children:["GlassyUI Assistant",(0,Ve.jsx)($t,{size:12,className:"text-yellow-500 dark:text-yellow-300 animate-pulse"})]}),(0,Ve.jsxs)("p",{className:"text-[10px] text-green-600 dark:text-green-400 font-medium dark:font-light flex items-center gap-1",children:[(0,Ve.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-green-500 animate-ping"}),"Online & Ready"]})]})]}),(0,Ve.jsx)("button",{onClick:()=>r(!1),className:"p-1.5 rounded-full hover:bg-slate-200/50 dark:hover:bg-white/10 transition-colors text-slate-500 dark:text-white/70 hover:text-slate-800 dark:hover:text-white","aria-label":"Close Chat",children:(0,Ve.jsx)(st,{size:18})})]}),(0,Ve.jsxs)("div",{className:"flex-1 p-6 overflow-y-auto space-y-4 max-h-[350px] scrollbar-thin scrollbar-thumb-white/10 scrollbar-track-transparent",children:[l.map(e=>(0,Ve.jsxs)("div",{className:"flex gap-3 max-w-[85%] ".concat("user"===e.sender?"ml-auto flex-row-reverse":""),children:[(0,Ve.jsx)("div",{className:"p-2 h-8 w-8 rounded-full flex items-center justify-center shrink-0 border ".concat("user"===e.sender?"bg-blue-600/20 border-blue-500/30 text-blue-600 dark:text-blue-300":"bg-slate-100 dark:bg-white/5 border-slate-200 dark:border-white/10 text-purple-600 dark:text-purple-300"),children:"user"===e.sender?(0,Ve.jsx)(Af,{size:14}):(0,Ve.jsx)(dS,{size:14})}),(0,Ve.jsx)("div",{className:"p-3.5 rounded-2xl text-sm leading-relaxed border ".concat("user"===e.sender?"bg-blue-600/10 dark:bg-blue-600/20 border-blue-500/20 dark:border-blue-500/30 text-slate-800 dark:text-white rounded-tr-none":"bg-slate-100/80 dark:bg-white/5 border-slate-200 dark:border-white/10 text-slate-700 dark:text-gray-200 rounded-tl-none"),children:e.text})]},e.id)),f&&(0,Ve.jsxs)("div",{className:"flex gap-3 max-w-[85%]",children:[(0,Ve.jsx)("div",{className:"p-2 h-8 w-8 rounded-full bg-slate-100 dark:bg-white/5 border border-slate-200 dark:border-white/10 flex items-center justify-center shrink-0 text-purple-600 dark:text-purple-300",children:(0,Ve.jsx)(dS,{size:14})}),(0,Ve.jsxs)("div",{className:"p-3.5 rounded-2xl rounded-tl-none bg-slate-100/80 dark:bg-white/5 border border-slate-200 dark:border-white/10 flex items-center gap-1.5",children:[(0,Ve.jsx)("span",{className:"w-2 h-2 rounded-full bg-slate-400 dark:bg-white/40 animate-bounce",style:{animationDelay:"0ms"}}),(0,Ve.jsx)("span",{className:"w-2 h-2 rounded-full bg-slate-400 dark:bg-white/40 animate-bounce",style:{animationDelay:"150ms"}}),(0,Ve.jsx)("span",{className:"w-2 h-2 rounded-full bg-slate-400 dark:bg-white/40 animate-bounce",style:{animationDelay:"300ms"}})]})]}),(0,Ve.jsx)("div",{ref:x})]}),(0,Ve.jsxs)("div",{className:"p-4 border-t border-slate-200 dark:border-white/10 bg-slate-100/50 dark:bg-black/20 flex gap-2 items-center",children:[(0,Ve.jsx)("input",{type:"text",placeholder:"Ask me a question...",value:u,onChange:e=>h(e.target.value),onKeyDown:e=>{"Enter"===e.key&&v()},className:"flex-1 px-4 py-2.5 rounded-xl border border-slate-200 dark:border-white/10 bg-white dark:bg-white/5 text-slate-800 dark:text-white placeholder-slate-400 dark:placeholder-white/30 focus:outline-none focus:border-blue-500/50 transition-colors text-sm"}),(0,Ve.jsx)("button",{onClick:v,className:"p-2.5 rounded-xl bg-blue-600 hover:bg-blue-500 border border-blue-500/50 text-white transition-all hover:scale-105 active:scale-95","aria-label":"Send Message",children:(0,Ve.jsx)(uS,{size:16})})]})]})}),(0,Ve.jsxs)("button",{onClick:()=>r(!n),className:"p-4 rounded-full bg-gradient-to-r from-blue-600 to-purple-600 hover:from-blue-500 hover:to-purple-500 text-white shadow-lg border border-white/20 hover:scale-110 active:scale-95 transition-all duration-300 flex items-center justify-center relative group","aria-label":"Open Chat",children:[(0,Ve.jsx)($i,{size:24}),!n&&(0,Ve.jsx)("span",{className:"absolute bottom-full mb-2.5 right-0 px-2.5 py-1 rounded bg-slate-900 border border-white/10 text-white text-[11px] font-semibold whitespace-nowrap opacity-0 group-hover:opacity-100 transition-opacity duration-300 shadow-md pointer-events-none",children:"Chat with Assistant"})]})]})},mS=()=>{const t=he(),n=(0,e.useRef)(null),r=gt(n);(0,e.useEffect)(()=>{const e=n.current;if(!e)return;const t=e.getContext("2d");if(!t)return;let r;const a=n=>{const s=e.clientWidth,i=e.clientHeight,o=window.devicePixelRatio||1;e.width=s*o,e.height=i*o,t.setTransform(1,0,0,1,0,0),t.clearRect(0,0,e.width,e.height),t.setTransform(o,0,0,o,0,0);const l=t.createLinearGradient(0,0,s,i);l.addColorStop(0,"rgba(15, 23, 42, 0.88)"),l.addColorStop(.5,"rgba(30, 41, 59, 0.84)"),l.addColorStop(1,"rgba(79, 70, 229, 0.72)"),t.fillStyle=l,t.fillRect(0,0,s,i);for(let e=0;e<6;e+=1){const r=(.35*Math.sin(n/900+e)+.5)*s,a=(.35*Math.cos(n/1200+e)+.5)*i,o=52+18*e,l=t.createRadialGradient(r,a,4,r,a,o);l.addColorStop(0,"rgba(".concat(Math.round(255-10*e),", ").concat(Math.round(80+18*e),", ").concat(Math.round(220+6*e),", 0.42)")),l.addColorStop(1,"rgba(255, 255, 255, 0)"),t.fillStyle=l,t.beginPath(),t.arc(r,a,o,0,2*Math.PI),t.fill()}r=requestAnimationFrame(a)};return r=requestAnimationFrame(a),()=>cancelAnimationFrame(r)},[]);const a=(0,e.useMemo)(()=>({backdropFilter:"blur(".concat(r.blur,"px)"),WebkitBackdropFilter:"blur(".concat(r.blur,"px)"),background:r.baseTint,border:"1px solid rgba(255, 255, 255, ".concat(r.borderOpacity,")"),boxShadow:"0 0 ".concat(r.shadowSoftness,"px rgba(14, 116, 144, ").concat(r.glowIntensity,")"),color:r.textColor}),[r]);return(0,Ve.jsx)("div",{className:"min-h-screen bg-transparent text-slate-800 dark:text-white px-6 py-8",children:(0,Ve.jsxs)("div",{className:"max-w-6xl mx-auto",children:[(0,Ve.jsx)("div",{className:"mb-6",children:(0,Ve.jsxs)("button",{onClick:()=>t(-1),className:"inline-flex items-center rounded-full border border-slate-200 dark:border-white/20 bg-slate-100 dark:bg-white/10 px-4 py-2 text-sm font-medium text-slate-700 dark:text-white transition hover:bg-slate-200 dark:hover:bg-white/20",children:[(0,Ve.jsx)(Be,{size:18,className:"mr-2"}),"Back to Components"]})}),(0,Ve.jsxs)("div",{className:"mb-8",children:[(0,Ve.jsx)("p",{className:"mb-2 inline-flex rounded-full bg-cyan-500/20 px-3 py-1 text-xs font-semibold uppercase tracking-[0.24em] text-cyan-700 dark:text-cyan-200",children:"New intelligence layer"}),(0,Ve.jsx)("h1",{className:"text-4xl font-bold md:text-5xl text-slate-800 dark:text-white",children:"Adaptive Background Intelligence"}),(0,Ve.jsx)("p",{className:"mt-3 max-w-3xl text-base text-slate-600 dark:text-slate-200 md:text-lg",children:"Real-time glassmorphism tuning traces the live scene behind the card, adjusting blur, opacity, glow, border visibility, and text contrast to stay readable across changing environments."})]}),(0,Ve.jsxs)("div",{className:"grid gap-6 lg:grid-cols-[1.3fr_0.7fr]",children:[(0,Ve.jsxs)("div",{className:"relative overflow-hidden rounded-[28px] border border-slate-200 dark:border-white/10 bg-slate-100/50 dark:bg-slate-950/70 p-1 shadow-2xl",children:[(0,Ve.jsx)("canvas",{ref:n,className:"h-[420px] w-full rounded-[26px] border border-slate-200 dark:border-white/10 bg-slate-100/30 dark:bg-slate-950/40"}),(0,Ve.jsx)("div",{className:"absolute inset-4 flex items-end",children:(0,Ve.jsxs)("div",{className:"relative z-10 w-full max-w-md rounded-[26px] p-5 md:p-6",style:a,children:[(0,Ve.jsx)("p",{className:"text-xs uppercase tracking-[0.28em] text-inherit opacity-70",children:"Adaptive glass surface"}),(0,Ve.jsx)("h2",{className:"mt-3 text-2xl font-semibold",children:"Environmental glass rendering"}),(0,Ve.jsx)("p",{className:"mt-2 text-sm text-inherit opacity-80",children:"Blur, transparency, border emphasis, and glow all shift as the sampled background changes, keeping the interface polished and legible."}),(0,Ve.jsxs)("div",{className:"mt-4 flex flex-wrap gap-2 text-xs font-medium",children:[(0,Ve.jsx)("span",{className:"rounded-full bg-current/10 text-inherit px-3 py-1",children:"Dynamic blur"}),(0,Ve.jsx)("span",{className:"rounded-full bg-current/10 text-inherit px-3 py-1",children:"Auto contrast"}),(0,Ve.jsx)("span",{className:"rounded-full bg-current/10 text-inherit px-3 py-1",children:"Smart glow"})]})]})})]}),(0,Ve.jsxs)("div",{className:"rounded-[28px] border border-slate-200 dark:border-white/10 bg-slate-50/50 dark:bg-white/5 p-6 backdrop-blur-md",children:[(0,Ve.jsxs)("div",{className:"mb-5 flex items-center justify-between",children:[(0,Ve.jsxs)("div",{children:[(0,Ve.jsx)("p",{className:"text-sm font-medium uppercase tracking-[0.28em] text-cyan-600 dark:text-cyan-200",children:"Live metrics"}),(0,Ve.jsx)("h2",{className:"mt-1 text-xl font-semibold text-slate-800 dark:text-white",children:"Adaptive profile"})]}),(0,Ve.jsx)("span",{className:"rounded-full bg-emerald-500/20 px-3 py-1 text-[10px] font-bold uppercase tracking-[0.2em] text-emerald-600 dark:text-emerald-200",children:"Realtime"})]}),(0,Ve.jsx)("div",{className:"space-y-3",children:[["Blur intensity","".concat(r.blur.toFixed(0),"px")],["Transparency","".concat(Math.round(100*r.opacity),"%")],["Border visibility","".concat(Math.round(100*r.borderOpacity),"%")],["Glow strength","".concat(Math.round(100*r.glowIntensity),"%")],["Shadow softness","".concat(Math.round(r.shadowSoftness),"px")],["Text contrast",r.textColor]].map(e=>{let t=p(e,2),n=t[0],r=t[1];return(0,Ve.jsx)("div",{className:"rounded-2xl border border-slate-200 dark:border-white/10 bg-white dark:bg-slate-950/70 px-4 py-3",children:(0,Ve.jsxs)("div",{className:"flex items-center justify-between text-sm",children:[(0,Ve.jsx)("span",{className:"text-slate-500 dark:text-slate-300",children:n}),(0,Ve.jsx)("span",{className:"font-semibold text-slate-800 dark:text-white",children:r})]})},n)})}),(0,Ve.jsxs)("div",{className:"mt-6 rounded-2xl border border-cyan-400/25 dark:border-cyan-400/20 bg-cyan-50/50 dark:bg-cyan-500/10 p-4 text-sm text-cyan-800 dark:text-cyan-50",children:[(0,Ve.jsx)("p",{className:"font-semibold",children:"How it works"}),(0,Ve.jsx)("p",{className:"mt-2 text-cyan-900/90 dark:text-cyan-100/90",children:"The live canvas is sampled continuously, brightness and color complexity are analyzed, and adaptive glass values are recalculated on the fly for a balanced and accessible interface."})]})]})]})]})})},fS=[{number:"01",title:"Acceptance of Terms",icon:"\ud83d\udccb",content:"By accessing or using GlassyUI-Components, you agree to abide by these Terms of Use. If you disagree with any part of these terms, please refrain from using this library. Continued use of the library after any modifications to these terms constitutes your acceptance of the updated Terms."},{number:"02",title:"User Obligations",icon:"\ud83e\udd1d",content:"Users must use the components responsibly, providing proper attribution as required by the applicable open-source license. Redistribution of unmodified versions without attribution is prohibited. You agree not to use GlassyUI-Components in any way that violates applicable laws or regulations."},{number:"03",title:"Intellectual Property Rights",icon:"\u26a1",content:"GlassyUI-Components and its designs are the intellectual property of the creators and contributors. The library is released under an open-source license, but the brand, logo, and associated assets remain the property of the project maintainers. Unauthorized commercial use of the brand is strictly prohibited."},{number:"04",title:"Limitation of Liability",icon:"\ud83d\udee1\ufe0f",content:'We are not liable for any direct, indirect, incidental, special, or consequential damages arising from the use or misuse of GlassyUI-Components. The library is provided "as-is" without any warranty of any kind, either expressed or implied, including but not limited to merchantability or fitness for a particular purpose.'},{number:"05",title:"Termination",icon:"\ud83d\udd12",content:"We reserve the right to terminate or restrict access to GlassyUI-Components for users who violate these Terms. Termination may occur without prior notice. Upon termination, you must cease all use of the library and destroy any copies in your possession that do not comply with the license."},{number:"06",title:"Modification of Terms",icon:"\u270f\ufe0f",content:"We reserve the right to modify these Terms at any time at our sole discretion. Changes will be announced through our GitHub repository or other official channels. It is your responsibility to review the Terms periodically. Your continued use of the library following any changes constitutes acceptance."},{number:"07",title:"Privacy Policy",icon:"\ud83d\udd10",content:"We respect your privacy. Any data collected through interactions with our project \u2014 such as GitHub contributions or newsletter sign-ups \u2014 is handled according to our Privacy Policy, accessible through our main website. We do not sell or share personal data with third parties for commercial purposes."},{number:"08",title:"Third-Party Links",icon:"\ud83d\udd17",content:"Our library and documentation may contain links to third-party websites or services. We are not responsible for the content, privacy policies, or practices of these external sites. We encourage you to review the terms and privacy policies of any third-party sites you visit."},{number:"09",title:"User-Generated Content",icon:"\ud83c\udfa8",content:"Contributions or modifications made to GlassyUI-Components are welcome and encouraged. All contributions must align with our community guidelines and open-source policies as defined in the CONTRIBUTING.md file. By submitting a contribution, you grant the project maintainers a perpetual license to use your contribution."},{number:"10",title:"Governing Law",icon:"\u2696\ufe0f",content:"These Terms are governed by and construed in accordance with applicable intellectual property laws and open-source policies. Any disputes arising under these Terms shall be resolved through good-faith negotiation. If resolution cannot be reached, disputes shall be subject to binding arbitration."}],gS=()=>{const t=p((0,e.useState)(null),2),n=t[0],r=t[1];return(0,Ve.jsxs)("div",{className:"terms-root",children:[(0,Ve.jsx)("div",{className:"terms-orb-1"}),(0,Ve.jsx)("div",{className:"terms-orb-2"}),(0,Ve.jsx)("div",{className:"terms-grid"}),(0,Ve.jsx)(He,{}),(0,Ve.jsxs)("div",{className:"terms-inner",children:[(0,Ve.jsxs)("div",{className:"terms-header",children:[(0,Ve.jsxs)("span",{className:"terms-badge",children:[(0,Ve.jsx)("span",{className:"terms-badge-dot"}),"Legal"]}),(0,Ve.jsx)("h1",{className:"terms-title",children:"Terms of Use"}),(0,Ve.jsxs)("p",{className:"terms-lead",children:["Please read these terms carefully before using"," ",(0,Ve.jsx)("strong",{style:{color:"#a78bfa"},children:"GlassyUI-Components"}),". By accessing our library you agree to be bound by the conditions outlined below."]}),(0,Ve.jsx)("p",{className:"terms-updated",children:"Last updated: May 2025"})]}),(0,Ve.jsx)("div",{className:"terms-pills",children:fS.map((e,t)=>(0,Ve.jsx)("button",{className:"terms-pill".concat(n===t?" terms-pill--active":""),onClick:()=>{var e;r(t===n?null:t),null===(e=document.getElementById("terms-section-".concat(t)))||void 0===e||e.scrollIntoView({behavior:"smooth",block:"center"})},children:e.number},t))}),(0,Ve.jsx)("div",{className:"terms-sections",children:fS.map((e,t)=>(0,Ve.jsxs)("div",{id:"terms-section-".concat(t),className:"terms-card".concat(n===t?" terms-card--active":""),onClick:()=>r(t===n?null:t),children:[(0,Ve.jsx)("div",{className:"terms-card-shimmer"}),(0,Ve.jsxs)("div",{className:"terms-card-top",children:[(0,Ve.jsxs)("div",{className:"terms-card-left",children:[(0,Ve.jsx)("span",{className:"terms-card-icon",children:e.icon}),(0,Ve.jsxs)("div",{children:[(0,Ve.jsx)("span",{className:"terms-card-num",children:e.number}),(0,Ve.jsx)("h2",{className:"terms-card-title",children:e.title})]})]}),(0,Ve.jsx)("span",{className:"terms-card-chevron",style:{transform:n===t?"rotate(180deg)":"rotate(0deg)"},children:"\u25be"})]}),(0,Ve.jsx)("div",{className:"terms-card-body",style:{maxHeight:n===t?"200px":"0",opacity:n===t?1:0},children:(0,Ve.jsx)("p",{className:"terms-card-text",children:e.content})})]},t))}),(0,Ve.jsxs)("div",{className:"terms-footer-cta",children:[(0,Ve.jsx)("p",{className:"terms-footer-text",children:"Have questions about these terms?"}),(0,Ve.jsx)("a",{href:"https://github.com/Jaishree2310/GlassyUI-Components/issues",target:"_blank",rel:"noopener noreferrer",className:"terms-footer-btn",children:"Open an Issue on GitHub"})]})]}),(0,Ve.jsx)("style",{children:"\n /* \u2500\u2500 ROOT \u2500\u2500 */\n .terms-root {\n min-height: 100vh;\n background: #03010f;\n color: #f8fafc;\n position: relative;\n overflow-x: hidden;\n font-family: -apple-system, BlinkMacSystemFont, 'Inter', 'Segoe UI', sans-serif;\n padding: 130px 24px 100px;\n }\n\n /* \u2500\u2500 ORBs (same as About/Components pages) \u2500\u2500 */\n .terms-orb-1 {\n position: fixed;\n border-radius: 50%;\n pointer-events: none;\n z-index: 0;\n width: 600px;\n height: 600px;\n background: radial-gradient(circle, rgba(124,58,237,0.15), transparent 70%);\n filter: blur(80px);\n top: -150px;\n left: -150px;\n animation: termsOrb1 22s ease-in-out infinite;\n }\n .terms-orb-2 {\n position: fixed;\n border-radius: 50%;\n pointer-events: none;\n z-index: 0;\n width: 400px;\n height: 400px;\n background: radial-gradient(circle, rgba(8,145,178,0.12), transparent 70%);\n filter: blur(70px);\n bottom: 0;\n right: 0;\n animation: termsOrb2 28s ease-in-out infinite;\n }\n @keyframes termsOrb1 {\n 0%,100% { transform: translate(0,0) scale(1); }\n 33% { transform: translate(60px,-40px) scale(1.08); }\n 66% { transform: translate(-30px,50px) scale(0.94); }\n }\n @keyframes termsOrb2 {\n 0%,100% { transform: translate(0,0) scale(1); }\n 40% { transform: translate(-50px,-30px) scale(1.06); }\n 70% { transform: translate(30px,40px) scale(0.96); }\n }\n\n /* \u2500\u2500 GRID overlay \u2500\u2500 */\n .terms-grid {\n position: fixed;\n inset: 0;\n z-index: 0;\n pointer-events: none;\n background-image:\n linear-gradient(rgba(255,255,255,0.022) 1px, transparent 1px),\n linear-gradient(90deg, rgba(255,255,255,0.022) 1px, transparent 1px);\n background-size: 60px 60px;\n }\n\n /* \u2500\u2500 INNER \u2500\u2500 */\n .terms-inner {\n position: relative;\n z-index: 1;\n max-width: 800px;\n margin: 0 auto;\n }\n\n /* \u2500\u2500 HEADER \u2500\u2500 */\n .terms-header {\n text-align: center;\n margin-bottom: 52px;\n }\n .terms-badge {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n padding: 6px 14px;\n background: rgba(124,58,237,0.12);\n border: 1px solid rgba(124,58,237,0.3);\n border-radius: 100px;\n font-size: 12px;\n font-weight: 600;\n color: #a78bfa;\n margin-bottom: 20px;\n letter-spacing: 1px;\n text-transform: uppercase;\n }\n .terms-badge-dot {\n width: 6px;\n height: 6px;\n border-radius: 50%;\n background: #7c3aed;\n box-shadow: 0 0 8px #7c3aed;\n animation: termsPulse 2s ease-in-out infinite;\n }\n @keyframes termsPulse {\n 0%,100% { opacity:1; transform:scale(1); }\n 50% { opacity:0.5; transform:scale(0.7); }\n }\n .terms-title {\n font-size: clamp(40px, 5vw, 72px);\n font-weight: 800;\n letter-spacing: -2px;\n margin: 0 0 20px;\n background: linear-gradient(135deg, #a78bfa, #22d3ee, #f472b6);\n background-size: 200% auto;\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n background-clip: text;\n animation: termsGradFlow 5s linear infinite;\n }\n @keyframes termsGradFlow {\n 0% { background-position: 0% center; }\n 100% { background-position: 200% center; }\n }\n .terms-lead {\n font-size: 17px;\n color: #64748b;\n line-height: 1.75;\n max-width: 560px;\n margin: 0 auto 12px;\n }\n .terms-updated {\n font-size: 12px;\n color: #334155;\n letter-spacing: 1px;\n text-transform: uppercase;\n margin: 0;\n }\n\n /* \u2500\u2500 QUICK-NAV PILLS \u2500\u2500 */\n .terms-pills {\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n justify-content: center;\n margin-bottom: 40px;\n }\n .terms-pill {\n padding: 5px 14px;\n background: rgba(255,255,255,0.04);\n border: 1px solid rgba(255,255,255,0.08);\n border-radius: 100px;\n font-size: 12px;\n font-weight: 700;\n color: #475569;\n cursor: pointer;\n transition: all 0.2s ease;\n letter-spacing: 0.5px;\n }\n .terms-pill:hover {\n background: rgba(124,58,237,0.12);\n border-color: rgba(124,58,237,0.3);\n color: #a78bfa;\n }\n .terms-pill--active {\n background: rgba(124,58,237,0.2) !important;\n border-color: rgba(124,58,237,0.45) !important;\n color: #a78bfa !important;\n }\n\n /* \u2500\u2500 SECTION CARDS \u2500\u2500 */\n .terms-sections {\n display: flex;\n flex-direction: column;\n gap: 12px;\n margin-bottom: 56px;\n }\n .terms-card {\n position: relative;\n padding: 24px 28px;\n background: rgba(255,255,255,0.03);\n border: 1px solid rgba(255,255,255,0.07);\n border-radius: 18px;\n cursor: pointer;\n overflow: hidden;\n transition: all 0.3s cubic-bezier(0.4,0,0.2,1);\n }\n .terms-card:hover {\n background: rgba(255,255,255,0.055);\n border-color: rgba(124,58,237,0.2);\n transform: translateY(-2px);\n box-shadow: 0 12px 32px rgba(0,0,0,0.3);\n }\n .terms-card--active {\n background: rgba(255,255,255,0.055) !important;\n border-color: rgba(124,58,237,0.35) !important;\n box-shadow: 0 0 0 1px rgba(124,58,237,0.15), 0 16px 40px rgba(0,0,0,0.35) !important;\n }\n\n /* shimmer sweep */\n .terms-card-shimmer {\n position: absolute;\n top: 0;\n left: -100%;\n width: 60%;\n height: 100%;\n background: linear-gradient(90deg, transparent, rgba(255,255,255,0.04), transparent);\n transform: skewX(-20deg);\n transition: left 0.6s ease;\n pointer-events: none;\n }\n .terms-card:hover .terms-card-shimmer { left: 150%; }\n\n .terms-card-top {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 16px;\n }\n .terms-card-left {\n display: flex;\n align-items: center;\n gap: 16px;\n }\n .terms-card-icon {\n font-size: 22px;\n width: 44px;\n height: 44px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: rgba(124,58,237,0.12);\n border: 1px solid rgba(124,58,237,0.2);\n border-radius: 12px;\n flex-shrink: 0;\n }\n .terms-card-num {\n font-size: 10px;\n font-weight: 700;\n letter-spacing: 2px;\n color: #a78bfa;\n text-transform: uppercase;\n display: block;\n margin-bottom: 4px;\n }\n .terms-card-title {\n font-size: 16px;\n font-weight: 700;\n color: #f8fafc;\n margin: 0;\n line-height: 1.2;\n }\n .terms-card-chevron {\n font-size: 20px;\n color: #475569;\n transition: transform 0.3s ease, color 0.2s ease;\n flex-shrink: 0;\n line-height: 1;\n }\n .terms-card--active .terms-card-chevron { color: #a78bfa; }\n\n /* collapsible body */\n .terms-card-body {\n overflow: hidden;\n transition: max-height 0.35s ease, opacity 0.3s ease;\n }\n .terms-card-text {\n font-size: 14.5px;\n line-height: 1.75;\n color: #94a3b8;\n margin: 18px 0 0 60px;\n padding-top: 16px;\n border-top: 1px solid rgba(255,255,255,0.05);\n }\n\n /* \u2500\u2500 FOOTER CTA \u2500\u2500 */\n .terms-footer-cta {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 16px;\n padding: 40px 32px;\n background: rgba(255,255,255,0.025);\n border: 1px solid rgba(255,255,255,0.07);\n border-radius: 20px;\n text-align: center;\n }\n .terms-footer-text {\n font-size: 15px;\n color: #64748b;\n margin: 0;\n }\n .terms-footer-btn {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n padding: 12px 28px;\n background: linear-gradient(135deg, #7c3aed, #0891b2);\n border: none;\n border-radius: 12px;\n font-size: 14px;\n font-weight: 600;\n color: white;\n text-decoration: none;\n cursor: pointer;\n transition: all 0.25s ease;\n box-shadow: 0 0 24px rgba(124,58,237,0.3);\n }\n .terms-footer-btn:hover {\n transform: translateY(-2px);\n box-shadow: 0 0 40px rgba(124,58,237,0.5);\n opacity: 0.92;\n }\n\n /* \u2500\u2500 RESPONSIVE \u2500\u2500 */\n @media (max-width: 640px) {\n .terms-root { padding: 110px 16px 80px; }\n .terms-card { padding: 18px 20px; }\n .terms-card-text { margin-left: 0; }\n .terms-card-icon { display: none; }\n }\n "})]})},xS=()=>{const t=p((0,e.useState)([]),2),n=t[0],r=t[1],a=p((0,e.useState)(""),2),s=a[0],i=a[1],o=p((0,e.useState)(""),2),l=o[0],c=o[1],d=p((0,e.useState)(""),2),u=d[0],h=d[1];(0,e.useEffect)(()=>{(async()=>{try{const e=await fetch("".concat({NODE_ENV:"production",PUBLIC_URL:"",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0}.REACT_APP_API_URL,"/api/stories/getposts"));if(e.ok){const t=await e.json();r(t)}}catch(e){console.error("Error fetching posts:",e)}})()},[]);return(0,Ve.jsxs)("div",{className:"relative min-h-screen bg-transparent text-inherit overflow-x-hidden",children:[(0,Ve.jsx)("style",{children:".stories-select option{background:#0b1220;color:#f8fafc;padding:10px}.stories-select optgroup{background:#0b1220;color:#7dd3fc;font-weight:700}"}),(0,Ve.jsx)("div",{className:"pointer-events-none absolute -left-36 top-24 h-72 w-72 rounded-full bg-violet-500/20 blur-3xl"}),(0,Ve.jsx)("div",{className:"pointer-events-none absolute -right-24 top-1/2 h-80 w-80 rounded-full bg-cyan-400/10 blur-3xl"}),(0,Ve.jsxs)("div",{className:"relative z-10 mx-auto max-w-7xl px-4 py-20 sm:px-6 lg:px-8",children:[(0,Ve.jsxs)("div",{className:"mx-auto mb-8 max-w-3xl text-center",children:[(0,Ve.jsxs)("span",{className:"glassmorphism inline-flex items-center gap-2 rounded-full px-4 py-2 text-sm text-slate-800 dark:text-white/80",children:[(0,Ve.jsx)("span",{className:"h-2 w-2 rounded-full bg-cyan-500 dark:bg-cyan-300 shadow-[0_0_12px_rgba(34,211,238,0.9)]"}),"Community Stories"]}),(0,Ve.jsx)("h1",{className:"mt-6 text-4xl font-extrabold tracking-tight text-slate-800 dark:text-white sm:text-5xl",children:"Real Stories, Real Advice"}),(0,Ve.jsx)("p",{className:"mx-auto mt-4 max-w-2xl text-base leading-7 text-slate-600 dark:text-slate-300 sm:text-lg",children:"Share your experience with GlassyUI and read how others are using the library in real projects."})]}),0===n.length&&(0,Ve.jsx)("p",{className:"mb-6 text-center text-slate-500 dark:text-slate-400",children:"No posts yet. Share your experience!"}),(0,Ve.jsxs)("div",{className:0===n.length?"mx-auto flex max-w-2xl justify-center":"flex flex-col gap-8 lg:flex-row lg:items-start lg:justify-center",children:[(0,Ve.jsx)("div",{className:"space-y-6 ".concat(0===n.length?"hidden":"flex-1"),children:n.length>0&&n.map((e,t)=>(0,Ve.jsxs)("article",{className:"glassmorphism rounded-3xl border border-slate-200/50 dark:border-white/15 bg-white/40 dark:bg-white/10 p-6 shadow-[0_20px_60px_rgba(2,6,23,0.35)] backdrop-blur-xl transition-transform duration-300 hover:-translate-y-1 hover:border-slate-300 dark:hover:border-white/25 sm:p-8",children:[(0,Ve.jsxs)("div",{className:"mb-4 flex flex-wrap items-center justify-between gap-3",children:[(0,Ve.jsx)("p",{className:"inline-flex items-center rounded-full border border-cyan-500/20 dark:border-cyan-300/20 bg-cyan-500/10 dark:bg-cyan-300/10 px-3 py-1 text-xs font-medium text-cyan-800 dark:text-cyan-100",children:e.category}),(0,Ve.jsx)("p",{className:"text-xs text-slate-500 dark:text-slate-400",children:new Date(e.date).toLocaleDateString()})]}),(0,Ve.jsx)("h3",{className:"text-2xl font-semibold text-slate-800 dark:text-white",children:e.title}),(0,Ve.jsx)("p",{className:"mt-4 leading-7 text-slate-600 dark:text-slate-300",children:e.content}),(0,Ve.jsx)("div",{className:"mt-6 flex justify-end",children:(0,Ve.jsx)("button",{type:"button",className:"rounded-full border border-slate-200 dark:border-white/15 bg-slate-100 dark:bg-white/10 px-4 py-2 text-sm font-medium text-slate-700 dark:text-white transition-colors duration-300 hover:bg-slate-200 dark:hover:bg-white/20",children:"Read More"})})]},t))}),(0,Ve.jsx)("div",{className:"glassmorphism w-full rounded-3xl border border-slate-200/50 dark:border-white/15 bg-white/40 dark:bg-white/10 p-6 shadow-[0_24px_70px_rgba(2,6,23,0.4)] backdrop-blur-xl ".concat(0===n.length?"mx-auto max-w-xl":"lg:sticky lg:top-24 lg:w-[420px] lg:mx-auto"),children:(0,Ve.jsxs)("form",{className:"space-y-4",onSubmit:async e=>{if(e.preventDefault(),!s||!l||!u)return;const t={title:s,content:l,category:u,date:(new Date).toISOString()};try{const e=await fetch("".concat({NODE_ENV:"production",PUBLIC_URL:"",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0}.REACT_APP_API_URL,"/api/stories/saveposts"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(e.ok){const t=await e.json();r([t,...n]),i(""),c(""),h("")}}catch(a){console.error("Error saving post:",a)}},children:[(0,Ve.jsxs)("div",{children:[(0,Ve.jsx)("label",{className:"mb-2 block text-sm font-medium text-slate-700 dark:text-slate-200",children:"Story title"}),(0,Ve.jsx)("input",{type:"text",placeholder:"Title of your story",value:s,onChange:e=>i(e.target.value),className:"w-full rounded-2xl border border-slate-200 dark:border-white/15 bg-white/50 dark:bg-white/10 px-4 py-3 text-slate-800 dark:text-white placeholder:text-slate-500 dark:placeholder:text-slate-400 outline-none transition-colors duration-300 focus:border-cyan-500/50 focus:bg-white dark:focus:bg-white/15"})]}),(0,Ve.jsxs)("div",{children:[(0,Ve.jsx)("label",{className:"mb-2 block text-sm font-medium text-slate-700 dark:text-slate-200",children:"Your story"}),(0,Ve.jsx)("textarea",{placeholder:"Write about your story...",value:l,onChange:e=>c(e.target.value),className:"h-36 w-full rounded-2xl border border-slate-200 dark:border-white/15 bg-white/50 dark:bg-white/10 px-4 py-3 text-slate-800 dark:text-white placeholder:text-slate-500 dark:placeholder:text-slate-400 outline-none transition-colors duration-300 focus:border-cyan-500/50 focus:bg-white dark:focus:bg-white/15"})]}),(0,Ve.jsxs)("div",{children:[(0,Ve.jsx)("label",{className:"mb-2 block text-sm font-medium text-slate-700 dark:text-slate-200",children:"Category"}),(0,Ve.jsxs)("select",{value:u,onChange:e=>h(e.target.value),className:"stories-select block w-full rounded-2xl border border-slate-200 dark:border-cyan-400/20 bg-white/50 dark:bg-white/10 backdrop-blur-xl px-4 py-3 text-slate-800 dark:text-white shadow-[0_0_0_1px_rgba(34,211,238,0.08),0_8px_24px_rgba(34,211,238,0.06)] dark:shadow-[0_0_0_1px_rgba(34,211,238,0.15),0_8px_24px_rgba(34,211,238,0.12)] outline-none transition-all duration-300 focus:border-cyan-500/50 focus:bg-white dark:focus:bg-white/15 focus:shadow-[0_0_0_1px_rgba(34,211,238,0.2),0_12px_32px_rgba(34,211,238,0.1)] dark:focus:shadow-[0_0_0_1px_rgba(34,211,238,0.3),0_12px_32px_rgba(34,211,238,0.2)]",children:[(0,Ve.jsx)("option",{value:"",disabled:!0,className:"bg-slate-950",children:"Select Category"}),(0,Ve.jsxs)("optgroup",{label:"GlassyUI-Components",children:[(0,Ve.jsx)("option",{value:"GlassyUI Introduction",children:"GlassyUI Introduction"}),(0,Ve.jsx)("option",{value:"Customizing GlassyUI Components",children:"Customizing GlassyUI Components"}),(0,Ve.jsx)("option",{value:"Advanced GlassyUI Techniques",children:"Advanced GlassyUI Techniques"}),(0,Ve.jsx)("option",{value:"GlassyUI Best Practices",children:"GlassyUI Best Practices"}),(0,Ve.jsx)("option",{value:"Contributing to GlassyUI",children:"Contributing to GlassyUI"}),(0,Ve.jsx)("option",{value:"React and GlassyUI Integration",children:"React and GlassyUI Integration"}),(0,Ve.jsx)("option",{value:"GlassyUI in Real Projects",children:"GlassyUI in Real Projects"}),(0,Ve.jsx)("option",{value:"GlassyUI Updates",children:"GlassyUI Updates"})]})]})]}),(0,Ve.jsx)("button",{type:"submit",className:"w-full rounded-2xl bg-gradient-to-r from-violet-600 to-cyan-600 border border-white/10 px-4 py-3 font-semibold text-white shadow-[0_0_0_1px_rgba(124,58,237,0.25),0_8px_32px_rgba(124,58,237,0.35),inset_0_1px_0_rgba(255,255,255,0.12)] backdrop-blur-sm transition-all duration-300 hover:-translate-y-0.5 hover:shadow-[0_0_0_1px_rgba(124,58,237,0.4),0_12px_40px_rgba(124,58,237,0.5),inset_0_1px_0_rgba(255,255,255,0.18)]",children:"Post Experience"})]})})]})]})]})};const vS=()=>{const t=(0,e.useRef)(null),n=gt(t,{updateInterval:120});(0,e.useEffect)(()=>{const e=t.current;if(!e)return;const n=e.getContext("2d");if(!n)return;let r;const a=t=>{const s=window.innerWidth,i=window.innerHeight,o=window.devicePixelRatio||1;e.width=s*o,e.height=i*o,e.style.width="".concat(s,"px"),e.style.height="".concat(i,"px"),n.setTransform(o,0,0,o,0,0),n.clearRect(0,0,s,i);const l=n.createLinearGradient(0,0,s,i);l.addColorStop(0,"rgba(6, 10, 34, 0.96)"),l.addColorStop(.4,"rgba(30, 41, 59, 0.88)"),l.addColorStop(1,"rgba(79, 70, 229, 0.72)"),n.fillStyle=l,n.fillRect(0,0,s,i);for(let e=0;e<5;e+=1){const r=(.35*Math.sin(t/(900+120*e))+.5)*s,a=(.35*Math.cos(t/(1100+130*e))+.5)*i,o=70+18*e,l=n.createRadialGradient(r,a,4,r,a,o);l.addColorStop(0,"rgba(".concat(200-12*e,", ").concat(120+10*e,", ").concat(255-8*e,", 0.35)")),l.addColorStop(1,"rgba(255,255,255,0)"),n.fillStyle=l,n.beginPath(),n.arc(r,a,o,0,2*Math.PI),n.fill()}r=requestAnimationFrame(a)};return r=requestAnimationFrame(a),()=>cancelAnimationFrame(r)},[]);const r=(0,e.useMemo)(()=>({"--adaptive-blur":"".concat(n.blur,"px"),"--adaptive-opacity":n.opacity.toString(),"--adaptive-border-opacity":n.borderOpacity.toString(),"--adaptive-glow":n.glowIntensity.toString(),"--adaptive-shadow":"".concat(n.shadowSoftness,"px"),"--adaptive-text-color":n.textColor,"--adaptive-base-tint":n.baseTint,"--adaptive-accent":n.accentColor}),[n]);return(0,Ve.jsx)(rt,{children:(0,Ve.jsxs)("div",{className:"adaptive-app-shell",style:r,children:[(0,Ve.jsx)("canvas",{ref:t,className:"adaptive-sampler","aria-hidden":"true"}),(0,Ve.jsxs)(kt,{children:[(0,Ve.jsx)(It,{}),(0,Ve.jsx)(_f,{}),(0,Ve.jsx)(pS,{}),(0,Ve.jsx)(He,{}),(0,Ve.jsx)(ut,{}),(0,Ve.jsx)("div",{className:"adaptive-glass page-shell",children:(0,Ve.jsxs)(Ee,{children:[(0,Ve.jsx)(Se,{path:"/",element:(0,Ve.jsx)(qi,{})}),(0,Ve.jsx)(Se,{path:"/components",element:(0,Ve.jsx)(xo,{})}),(0,Ve.jsx)(Se,{path:"/toast-page",element:(0,Ve.jsx)(Vf,{})}),(0,Ve.jsx)(Se,{path:"/button-details",element:(0,Ve.jsx)(bo,{})}),(0,Ve.jsx)(Se,{path:"/card-details",element:(0,Ve.jsx)(No,{})}),(0,Ve.jsx)(Se,{path:"/progress-bar-details",element:(0,Ve.jsx)(_o,{})}),(0,Ve.jsx)(Se,{path:"/pricing-details",element:(0,Ve.jsx)(et,{})}),(0,Ve.jsx)(Se,{path:"/popup-details",element:(0,Ve.jsx)(Po,{})}),(0,Ve.jsx)(Se,{path:"/input-details",element:(0,Ve.jsx)(Io,{})}),(0,Ve.jsx)(Se,{path:"/textarea-details",element:(0,Ve.jsx)(Fo,{})}),(0,Ve.jsx)(Se,{path:"/tooltip-details",element:(0,Ve.jsx)(Lo,{})}),(0,Ve.jsx)(Se,{path:"/speed-dial-details",element:(0,Ve.jsx)(Yo,{})}),(0,Ve.jsx)(Se,{path:"/modal-details",element:(0,Ve.jsx)(Qo,{})}),(0,Ve.jsx)(Se,{path:"/navigation-details",element:(0,Ve.jsx)(nl,{})}),(0,Ve.jsx)(Se,{path:"/generator",element:(0,Ve.jsx)(rl,{})}),(0,Ve.jsx)(Se,{path:"/slider-details",element:(0,Ve.jsx)(al,{})}),(0,Ve.jsx)(Se,{path:"/back-to-top-details",element:(0,Ve.jsx)(Cf,{})}),(0,Ve.jsx)(Se,{path:"/dropdown-details",element:(0,Ve.jsx)(Tf,{})}),(0,Ve.jsx)(Se,{path:"/stepper-details",element:(0,Ve.jsx)(Rf,{})}),(0,Ve.jsx)(Se,{path:"/authentication-card",element:(0,Ve.jsx)(Lf,{})}),(0,Ve.jsx)(Se,{path:"/accordion-details",element:(0,Ve.jsx)(Gf,{})}),(0,Ve.jsx)(Se,{path:"/contributors",element:(0,Ve.jsx)(ol,{})}),(0,Ve.jsx)(Se,{path:"/donate",element:(0,Ve.jsx)(Wc,{})}),(0,Ve.jsx)(Se,{path:"/about",element:(0,Ve.jsx)(Kc,{})}),(0,Ve.jsx)(Se,{path:"/contact-details",element:(0,Ve.jsx)(Kf,{})}),(0,Ve.jsx)(Se,{path:"/pagination-details",element:(0,Ve.jsx)(qf,{})}),(0,Ve.jsx)(Se,{path:"/testimonial-details",element:(0,Ve.jsx)($f,{})}),(0,Ve.jsx)(Se,{path:"/calendar-details",element:(0,Ve.jsx)(Bv,{})}),(0,Ve.jsx)(Se,{path:"/statistic-details",element:(0,Ve.jsx)(Vv,{})}),(0,Ve.jsx)(Se,{path:"/checkbox",element:(0,Ve.jsx)(Uv,{})}),(0,Ve.jsx)(Se,{path:"/spinner",element:(0,Ve.jsx)(Hv,{})}),(0,Ve.jsx)(Se,{path:"/product-details",element:(0,Ve.jsx)(Gv,{})}),(0,Ve.jsx)(Se,{path:"/gallery-details",element:(0,Ve.jsx)(Wv,{})}),(0,Ve.jsx)(Se,{path:"/contact",element:(0,Ve.jsx)(Kv,{})}),(0,Ve.jsx)(Se,{path:"/adaptive-background-intelligence",element:(0,Ve.jsx)(mS,{})}),(0,Ve.jsx)(Se,{path:"/termsOfUse",element:(0,Ve.jsx)(gS,{})}),(0,Ve.jsx)(Se,{path:"/stories",element:(0,Ve.jsx)(xS,{})}),(0,Ve.jsx)(Se,{path:"*",element:(0,Ve.jsx)(Ro,{})})]})}),(0,Ve.jsx)(Xf,{}),(0,Ve.jsx)(Gt,{})]})]})})},bS=e=>{e&&e instanceof Function&&n.e(453).then(n.bind(n,453)).then(t=>{let n=t.getCLS,r=t.getFID,a=t.getFCP,s=t.getLCP,i=t.getTTFB;n(e),r(e),a(e),s(e),i(e)})};r.createRoot(document.getElementById("root")).render((0,Ve.jsx)(e.StrictMode,{children:(0,Ve.jsx)(bf,{children:(0,Ve.jsx)(vS,{})})})),bS()})()})(); -//# sourceMappingURL=main.314eff49.js.map \ No newline at end of file diff --git a/src/App.tsx b/src/App.tsx index a3513d8..516fd2e 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -50,6 +50,7 @@ import AdaptiveBackgroundIntelligenceDemo from './components/AdaptiveBackgroundI import { TermsOfUse } from './components/TermsOfUse'; import AnimatedCursorPage from './components/AnimatedCursorPage'; import AnimatedCursor from './components/AnimatedCursor'; +import FileUploadDetailsPage from './components/GlassyFileUpload'; import Stories from './components/Stories'; // import Register from './login/SignUp'; @@ -219,6 +220,10 @@ const App: React.FC = () => { /> } /> + } + /> } /> {/* } /> */} diff --git a/src/components/GlassyFileUpload.tsx b/src/components/GlassyFileUpload.tsx new file mode 100644 index 0000000..8b9e4d9 --- /dev/null +++ b/src/components/GlassyFileUpload.tsx @@ -0,0 +1,228 @@ +import React, { useState, useRef } from 'react'; +import { useNavigate } from 'react-router-dom'; +import { ArrowLeft, Upload, File, X, CheckCircle } from 'lucide-react'; +import PageShell from './PageShell'; +import { getGlassyClasses } from '../utils/glassy'; + +interface FileItem { + name: string; + size: string; + type: string; +} + +const GlassyFileUpload: React.FC = () => { + const [dragActive, setDragActive] = useState(false); + const [files, setFiles] = useState([]); + const [uploading, setUploading] = useState(false); + const [uploaded, setUploaded] = useState(false); + const fileInputRef = useRef(null); + + const handleDrag = (e: React.DragEvent) => { + e.preventDefault(); + e.stopPropagation(); + if (e.type === 'dragenter' || e.type === 'dragover') { + setDragActive(true); + } else if (e.type === 'dragleave') { + setDragActive(false); + } + }; + + const formatBytes = (bytes: number): string => { + if (bytes === 0) return '0 Bytes'; + const k = 1024; + const sizes = ['Bytes', 'KB', 'MB', 'GB']; + const i = Math.floor(Math.log(bytes) / Math.log(k)); + return parseFloat((bytes / Math.pow(k, i)).toFixed(2)) + ' ' + sizes[i]; + }; + + const handleFiles = (fileList: FileList) => { + const newFiles: FileItem[] = []; + for (let i = 0; i < fileList.length; i += 1) { + newFiles.push({ + name: fileList[i].name, + size: formatBytes(fileList[i].size), + type: fileList[i].type, + }); + } + setFiles(prev => [...prev, ...newFiles]); + setUploaded(false); + }; + + const handleDrop = (e: React.DragEvent) => { + e.preventDefault(); + e.stopPropagation(); + setDragActive(false); + if (e.dataTransfer.files && e.dataTransfer.files[0]) { + handleFiles(e.dataTransfer.files); + } + }; + + const handleChange = (e: React.ChangeEvent) => { + e.preventDefault(); + if (e.target.files && e.target.files[0]) { + handleFiles(e.target.files); + } + }; + + const removeFile = (index: number) => { + setFiles(prev => prev.filter((_, i) => i !== index)); + }; + + const triggerUpload = () => { + if (files.length === 0) return; + setUploading(true); + setTimeout(() => { + setUploading(false); + setUploaded(true); + setFiles([]); + }, 2000); + }; + + const onButtonClick = () => { + fileInputRef.current?.click(); + }; + + return ( +
+ {/* Drag & Drop Zone */} +
+ + +

+ Drag & drop your files here +

+

or click to browse from device

+
+ + {/* Uploading Status */} + {uploading && ( +
+
+ Uploading files... +
+ )} + + {/* Success Status */} + {uploaded && ( +
+ + All files uploaded successfully! +
+ )} + + {/* File List */} + {files.length > 0 && ( +
+

+ Selected Files ({files.length}) +

+
+ {files.map((file, idx) => ( +
+
+ + + {file.name} + + + {file.size} + +
+ +
+ ))} +
+ +
+ )} +
+ ); +}; + +const FileUploadDetailsPage: React.FC = () => { + const navigate = useNavigate(); + + const basicUsageCode = `import { GlassyFileUpload } from 'glassyui'; + +function Example() { + return ( + console.log('Uploading files:', files)} + /> + ); +}`; + + return ( + + + +

File Upload

+

+ A premium drag-and-drop file upload component featuring a frosted glass + background aesthetic and dash boundary styling. +

+ + {/* Interactive Demo */} +
+

Interactive Demo

+
+ +
+
+ + {/* Basic Usage */} +
+

Basic Usage

+
+
+            {basicUsageCode}
+          
+
+
+
+ ); +}; + +export default FileUploadDetailsPage; diff --git a/src/components/GlassyUIComponentsPage.tsx b/src/components/GlassyUIComponentsPage.tsx index 083a967..87f3d96 100644 --- a/src/components/GlassyUIComponentsPage.tsx +++ b/src/components/GlassyUIComponentsPage.tsx @@ -23,6 +23,7 @@ import { GalleryThumbnails, Sparkles, MousePointer, + Upload, } from 'lucide-react'; import { HiOutlineWrenchScrewdriver } from 'react-icons/hi2'; @@ -97,6 +98,14 @@ const GlassyUIComponentsPage: React.FC = () => { onClick: () => navigate('/input-details', { state: { fromPage: currentPage } }), }, + { + title: 'File Upload', + description: + 'Elegant drag-and-drop file upload with a frosted glass aesthetic.', + icon: , + onClick: () => + navigate('/file-upload-details', { state: { fromPage: currentPage } }), + }, { title: 'Modals', description: 'Eye-catching dialog boxes with glassmorphism effects.', From 4c52e3872f1bfb296674b4274f291dd50c4b2b28 Mon Sep 17 00:00:00 2001 From: sonusharma6-dsa Date: Thu, 2 Jul 2026 22:07:41 +0530 Subject: [PATCH 3/7] fix: correct Animation spelling typo on Toast documentation page (closes #740) --- src/components/ToastPage.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/ToastPage.tsx b/src/components/ToastPage.tsx index 8d6a910..822f437 100644 --- a/src/components/ToastPage.tsx +++ b/src/components/ToastPage.tsx @@ -1,4 +1,4 @@ -import React, { useState } from 'react'; +import React, { useState } from 'react'; import { useNavigate } from 'react-router-dom'; import { ArrowLeft, Check, Copy } from 'lucide-react'; @@ -259,7 +259,7 @@ const Toast: React.FC = ({ id, title, message, autoDismiss = 9000, t

- Aniamtion CSS + Animation CSS


From ae61d691beaf83294d250cf48be379ad86581ea7 Mon Sep 17 00:00:00 2001
From: sonusharma6-dsa 
Date: Thu, 2 Jul 2026 22:08:49 +0530
Subject: [PATCH 4/7] chore: add MIT License file for open-source compliance
 (closes #745)

---
 LICENSE | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)
 create mode 100644 LICENSE

diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..8a56a75
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2026 Jaishree2310 and contributors
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.

From 65eee514d7fe111b86c086b1a76529a11fe8799c Mon Sep 17 00:00:00 2001
From: sonusharma6-dsa 
Date: Tue, 7 Jul 2026 08:59:11 +0530
Subject: [PATCH 5/7] feat: add Glassy Divider component and details page
 (closes #741)

---
 src/App.tsx                               |   2 +
 src/components/DividerDetailsPage.tsx     | 170 ++++++++++++++++++++++
 src/components/GlassDivider.tsx           |  61 ++++++++
 src/components/GlassyUIComponentsPage.tsx |   8 +
 4 files changed, 241 insertions(+)
 create mode 100644 src/components/DividerDetailsPage.tsx
 create mode 100644 src/components/GlassDivider.tsx

diff --git a/src/App.tsx b/src/App.tsx
index 516fd2e..7d91ad2 100644
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -51,6 +51,7 @@ import { TermsOfUse } from './components/TermsOfUse';
 import AnimatedCursorPage from './components/AnimatedCursorPage';
 import AnimatedCursor from './components/AnimatedCursor';
 import FileUploadDetailsPage from './components/GlassyFileUpload';
+import DividerDetailsPage from './components/DividerDetailsPage';
 
 import Stories from './components/Stories';
 // import Register from './login/SignUp';
@@ -149,6 +150,7 @@ const App: React.FC = () => {
               } />
               } />
               } />
+              } />
               } />
               } />
               } />
diff --git a/src/components/DividerDetailsPage.tsx b/src/components/DividerDetailsPage.tsx
new file mode 100644
index 0000000..693eb2a
--- /dev/null
+++ b/src/components/DividerDetailsPage.tsx
@@ -0,0 +1,170 @@
+import React, { useState } from 'react';
+import { useNavigate } from 'react-router-dom';
+import { ArrowLeft, Copy, Check } from 'lucide-react';
+import PageShell from './PageShell';
+import GlassDivider from './GlassDivider';
+
+const DividerDetailsPage: React.FC = () => {
+  const navigate = useNavigate();
+  const [copiedStates, setCopiedStates] = useState<{ [key: string]: boolean }>(
+    {},
+  );
+
+  const getGlassyClasses = (opacity = 10) => {
+    return `backdrop-filter backdrop-blur-lg bg-white bg-opacity-${opacity} 
+  border border-white border-opacity-20 rounded-lg shadow-lg transition-all duration-300`;
+  };
+
+  const copyToClipboard = (text: string, key: string) => {
+    navigator.clipboard.writeText(text).then(() => {
+      setCopiedStates(prev => ({ ...prev, [key]: true }));
+      setTimeout(
+        () => setCopiedStates(prev => ({ ...prev, [key]: false })),
+        2000,
+      );
+    });
+  };
+
+  const CopyButton: React.FC<{ text: string; codeKey: string }> = ({
+    text,
+    codeKey,
+  }) => (
+    
+  );
+
+  const handleBackToComponents = () => {
+    navigate('/components');
+  };
+
+  const basicUsageCode = ``;
+
+  const labelUsageCode = ``;
+
+  const verticalUsageCode = `
+
Left Side
+ +
Right Side
+
`; + + const customStyleCode = ``; + + return ( + + + +

+ Glassmorphic Divider Component +

+

+ A glassmorphism-styled separator component to visually divide content + sections. +

+ + {/* Horizontal Divider Section */} +
+

+ Horizontal Divider (Default) +

+
+
Above section
+ +
Below section
+
+
+
+            {basicUsageCode}
+          
+ +
+
+ + {/* Divider with Label Section */} +
+

Divider with Label

+
+
Section 1
+ +
Section 2
+
+
+
+            {labelUsageCode}
+          
+ +
+
+ + {/* Vertical Divider Section */} +
+

Vertical Divider

+
+
Feature A
+ +
Feature B
+ +
Feature C
+
+
+
+            {verticalUsageCode}
+          
+ +
+
+ + {/* Custom Styles Section */} +
+

Custom Margin & Style

+
+
Custom space spacer
+ +
End of content
+
+
+
+            {customStyleCode}
+          
+ +
+
+
+ ); +}; + +export default DividerDetailsPage; diff --git a/src/components/GlassDivider.tsx b/src/components/GlassDivider.tsx new file mode 100644 index 0000000..963e555 --- /dev/null +++ b/src/components/GlassDivider.tsx @@ -0,0 +1,61 @@ +import React from 'react'; + +interface GlassDividerProps { + orientation?: 'horizontal' | 'vertical'; + label?: string; + className?: string; + style?: React.CSSProperties; +} + +const GlassDivider: React.FC = ({ + orientation = 'horizontal', + label, + className = '', + style, +}) => { + const isHorizontal = orientation === 'horizontal'; + + return ( +
+ {/* First segment of the line */} +
+ + {/* Label (if present) */} + {label && ( + + {label} + + )} + + {/* Second segment of the line */} + {label && ( +
+ )} +
+ ); +}; + +export default GlassDivider; diff --git a/src/components/GlassyUIComponentsPage.tsx b/src/components/GlassyUIComponentsPage.tsx index 87f3d96..ef823c4 100644 --- a/src/components/GlassyUIComponentsPage.tsx +++ b/src/components/GlassyUIComponentsPage.tsx @@ -106,6 +106,14 @@ const GlassyUIComponentsPage: React.FC = () => { onClick: () => navigate('/file-upload-details', { state: { fromPage: currentPage } }), }, + { + title: 'Divider', + description: + 'A glassmorphic separator component to visually divide content sections.', + icon: , + onClick: () => + navigate('/divider-details', { state: { fromPage: currentPage } }), + }, { title: 'Modals', description: 'Eye-catching dialog boxes with glassmorphism effects.', From d8b81369b2d75a9d83e1ffade6faa31607a9ddeb Mon Sep 17 00:00:00 2001 From: sonusharma6-dsa Date: Tue, 7 Jul 2026 09:18:52 +0530 Subject: [PATCH 6/7] feat: add Glassy Skeleton loader components and details page (closes #744) --- src/App.tsx | 5 + src/components/GlassySkeleton.tsx | 92 +++++++++++++++ src/components/GlassyUIComponentsPage.tsx | 8 ++ src/components/SkeletonDetailsPage.tsx | 135 ++++++++++++++++++++++ 4 files changed, 240 insertions(+) create mode 100644 src/components/GlassySkeleton.tsx create mode 100644 src/components/SkeletonDetailsPage.tsx diff --git a/src/App.tsx b/src/App.tsx index 7d91ad2..cd40f6e 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -52,6 +52,7 @@ import AnimatedCursorPage from './components/AnimatedCursorPage'; import AnimatedCursor from './components/AnimatedCursor'; import FileUploadDetailsPage from './components/GlassyFileUpload'; import DividerDetailsPage from './components/DividerDetailsPage'; +import SkeletonDetailsPage from './components/SkeletonDetailsPage'; import Stories from './components/Stories'; // import Register from './login/SignUp'; @@ -151,6 +152,10 @@ const App: React.FC = () => { } /> } /> } /> + } + /> } /> } /> } /> diff --git a/src/components/GlassySkeleton.tsx b/src/components/GlassySkeleton.tsx new file mode 100644 index 0000000..54fa8fd --- /dev/null +++ b/src/components/GlassySkeleton.tsx @@ -0,0 +1,92 @@ +import React from 'react'; + +const shimmerStyle = ` +@keyframes glassy-shimmer { + 0% { transform: translateX(-100%); } + 100% { transform: translateX(100%); } +} +.glassy-shimmer-element { + animation: glassy-shimmer 1.8s infinite linear; +} +`; + +const Shimmer: React.FC = () => ( + <> +