.carousel-container{margin-bottom:4rem;display:none;position:relative}@media (min-width:768px){.carousel-container{display:block}}.carousel-item{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);max-width:64rem;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);border-radius:1rem;margin-left:auto;margin-right:auto;transition-property:all;transition-duration:.5s;transition-timing-function:cubic-bezier(.4,0,.2,1);animation-duration:.5s;position:relative;overflow:hidden}.carousel-item:hover{--tw-shadow:var(--tw-shadow-colored);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);--tw-shadow-color:hsl(var(--primary)/.2)}.carousel-item{height:600px}.carousel-border{background-image:linear-gradient(to right,var(--tw-gradient-stops));--tw-gradient-from:hsl(var(--primary))var(--tw-gradient-from-position);--tw-gradient-to:#3b82f6 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#a855f7 var(--tw-gradient-via-position),var(--tw-gradient-to);opacity:0;border-radius:1rem;padding:2px;transition-property:opacity;transition-duration:.7s;transition-timing-function:cubic-bezier(.4,0,.2,1);animation-duration:.7s;position:absolute;inset:0}.group:hover .carousel-border{opacity:1}.carousel-border-inner{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1));border-radius:1rem;width:100%;height:100%}.carousel-nav-button{z-index:10;--tw-translate-y:-50%;width:2rem;height:2rem;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));--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1));opacity:0;background-color:#fffc;border-radius:9999px;padding:0;transition-property:opacity;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1);animation-duration:.3s;position:absolute;top:50%}.carousel-nav-button:hover{background-color:#ffffffe6}.group:hover .carousel-nav-button{opacity:1}.carousel-nav-button:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));background-color:#000c}.carousel-nav-button:hover:is(.dark *){background-color:#000000e6}.carousel-nav-left{left:.75rem}.carousel-nav-right{right:.75rem}.carousel-image-container{border-radius:1rem;height:600px;position:relative;overflow:hidden}.carousel-image{object-fit:cover;width:100%;height:600px}.carousel-overlay{background-image:linear-gradient(to top,var(--tw-gradient-stops));--tw-gradient-from:#000c var(--tw-gradient-from-position);--tw-gradient-to:transparent var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#0006 var(--tw-gradient-via-position),var(--tw-gradient-to);transition-property:all;transition-duration:.5s;transition-timing-function:cubic-bezier(.4,0,.2,1);animation-duration:.5s;position:absolute;inset:0}.group:hover .carousel-overlay{--tw-gradient-from:#000000e6 var(--tw-gradient-from-position);--tw-gradient-to:#0000 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#00000080 var(--tw-gradient-via-position),var(--tw-gradient-to)}.carousel-content{text-align:center;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));flex-direction:column;align-items:center;padding:3rem 1rem 1.5rem;display:flex;position:absolute;bottom:0;left:0;right:0}.carousel-title{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));background-image:linear-gradient(to right,var(--tw-gradient-stops));--tw-gradient-from:#fff var(--tw-gradient-from-position);--tw-gradient-to:#fff var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#f3f4f6 var(--tw-gradient-via-position),var(--tw-gradient-to);color:#0000;-webkit-background-clip:text;background-clip:text;margin-bottom:.5rem;font-size:1.25rem;font-weight:700;line-height:1.75rem;transition-property:all;transition-duration:.5s;transition-timing-function:cubic-bezier(.4,0,.2,1);animation-duration:.5s}.group:hover .carousel-title{--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));--tw-gradient-from:hsl(var(--primary))var(--tw-gradient-from-position);--tw-gradient-to:#93c5fd var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#d8b4fe var(--tw-gradient-via-position),var(--tw-gradient-to)}.carousel-description-wrapper{position:relative}.carousel-description-bg{border-radius:var(--radius);opacity:0;--tw-backdrop-blur:blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur)var(--tw-backdrop-brightness)var(--tw-backdrop-contrast)var(--tw-backdrop-grayscale)var(--tw-backdrop-hue-rotate)var(--tw-backdrop-invert)var(--tw-backdrop-opacity)var(--tw-backdrop-saturate)var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur)var(--tw-backdrop-brightness)var(--tw-backdrop-contrast)var(--tw-backdrop-grayscale)var(--tw-backdrop-hue-rotate)var(--tw-backdrop-invert)var(--tw-backdrop-opacity)var(--tw-backdrop-saturate)var(--tw-backdrop-sepia);background-color:#ffffff1a;transition-property:opacity;transition-duration:.5s;transition-timing-function:cubic-bezier(.4,0,.2,1);animation-duration:.5s;position:absolute;inset:0}.group:hover .carousel-description-bg{opacity:1}.carousel-description-bg:is(.dark *){background-color:#11182733}.carousel-description{--tw-text-opacity:1;max-width:36rem;color:rgb(229 231 235/var(--tw-text-opacity,1));margin-left:auto;margin-right:auto;padding:.375rem .75rem;font-size:.75rem;line-height:1.625;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1);animation-duration:.3s;display:none;position:relative}.group:hover .carousel-description{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}@media (min-width:768px){.carousel-description{display:block}}.carousel-tech-container{flex-wrap:wrap;justify-content:center;margin-top:.75rem;display:flex}.carousel-tech-container>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.375rem*var(--tw-space-x-reverse));margin-left:calc(.375rem*calc(1 - var(--tw-space-x-reverse)))}.carousel-tech-badge{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));--tw-backdrop-blur:blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur)var(--tw-backdrop-brightness)var(--tw-backdrop-contrast)var(--tw-backdrop-grayscale)var(--tw-backdrop-hue-rotate)var(--tw-backdrop-invert)var(--tw-backdrop-opacity)var(--tw-backdrop-saturate)var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur)var(--tw-backdrop-brightness)var(--tw-backdrop-contrast)var(--tw-backdrop-grayscale)var(--tw-backdrop-hue-rotate)var(--tw-backdrop-invert)var(--tw-backdrop-opacity)var(--tw-backdrop-saturate)var(--tw-backdrop-sepia);background-color:#fff3;border-width:1px;border-color:#ffffff4d;border-radius:9999px;margin-bottom:.375rem;padding:.25rem .625rem;font-size:.75rem;font-weight:500;line-height:1rem;transition-property:all;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1);animation-duration:.3s;position:relative}.carousel-tech-badge:hover{--tw-translate-y:-.125rem;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));border-color:hsl(var(--primary)/.5);background-color:hsl(var(--primary)/.3);--tw-shadow:var(--tw-shadow-colored);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);--tw-shadow-color:hsl(var(--primary)/.2)}.carousel-tech-more{color:#fffc;--tw-backdrop-blur:blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur)var(--tw-backdrop-brightness)var(--tw-backdrop-contrast)var(--tw-backdrop-grayscale)var(--tw-backdrop-hue-rotate)var(--tw-backdrop-invert)var(--tw-backdrop-opacity)var(--tw-backdrop-saturate)var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur)var(--tw-backdrop-brightness)var(--tw-backdrop-contrast)var(--tw-backdrop-grayscale)var(--tw-backdrop-hue-rotate)var(--tw-backdrop-invert)var(--tw-backdrop-opacity)var(--tw-backdrop-saturate)var(--tw-backdrop-sepia);background-color:#ffffff1a;border-width:1px;border-color:#fff3;border-radius:9999px;margin-bottom:.375rem;padding:.25rem .625rem;font-size:.75rem;font-weight:500;line-height:1rem;transition-property:all;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1);animation-duration:.3s;position:relative}.carousel-tech-more:hover{background-color:#fff3;border-color:#fff6}.carousel-links{margin-top:.75rem;display:flex}.carousel-links>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*calc(1 - var(--tw-space-x-reverse)))}.carousel-link{border-radius:var(--radius);--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));--tw-backdrop-blur:blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur)var(--tw-backdrop-brightness)var(--tw-backdrop-contrast)var(--tw-backdrop-grayscale)var(--tw-backdrop-hue-rotate)var(--tw-backdrop-invert)var(--tw-backdrop-opacity)var(--tw-backdrop-saturate)var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur)var(--tw-backdrop-brightness)var(--tw-backdrop-contrast)var(--tw-backdrop-grayscale)var(--tw-backdrop-hue-rotate)var(--tw-backdrop-invert)var(--tw-backdrop-opacity)var(--tw-backdrop-saturate)var(--tw-backdrop-sepia);border-width:1px;padding:.5rem 1rem;font-size:.75rem;font-weight:500;line-height:1rem;transition-property:all;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1);animation-duration:.3s;position:relative}.carousel-link:hover{--tw-translate-y:-.125rem;--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));--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);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.carousel-demo-link{background-color:#fff3;border-color:#ffffff4d}.carousel-demo-link:hover{border-color:hsl(var(--primary)/.5);background-color:hsl(var(--primary)/.2);--tw-shadow-color:hsl(var(--primary)/.2);--tw-shadow:var(--tw-shadow-colored)}.carousel-repo-link{border-color:hsl(var(--primary)/.5);background-color:hsl(var(--primary)/.3)}.carousel-repo-link:hover{border-color:hsl(var(--primary)/.7);background-color:hsl(var(--primary)/.5);--tw-shadow-color:hsl(var(--primary)/.3);--tw-shadow:var(--tw-shadow-colored)}.carousel-link-bg{border-radius:var(--radius);opacity:0;transition-property:opacity;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1);animation-duration:.3s;position:absolute;inset:0}.carousel-demo-link:hover .carousel-link-bg{background-image:linear-gradient(to right,var(--tw-gradient-stops));--tw-gradient-from:hsl(var(--primary)/0)var(--tw-gradient-from-position);--tw-gradient-to:hsl(var(--primary)/.2)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);opacity:1}.carousel-repo-link:hover .carousel-link-bg{background-image:linear-gradient(to right,var(--tw-gradient-stops));--tw-gradient-from:hsl(var(--primary)/.2)var(--tw-gradient-from-position);--tw-gradient-to:#a855f733 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);opacity:1}.carousel-link-text{z-index:10;position:relative}.carousel-indicators{justify-content:center;align-items:center;margin-top:1rem;display:flex}.carousel-indicator{border-radius:calc(var(--radius) - 4px);width:1.5rem;height:.25rem;margin-left:.25rem;margin-right:.25rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1);animation-duration:.3s}.carousel-indicator.active{background-color:hsl(var(--primary))}.carousel-indicator.inactive{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}.carousel-indicator.inactive:is(.dark *){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.tech-badge-0{animation-delay:0s}.tech-badge-1{animation-delay:.1s}.tech-badge-2{animation-delay:.2s}.project-card{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));--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);height:100%;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);border-width:1px;border-color:#0000;border-radius:1rem;padding:1.5rem;transition-property:all;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1);animation-duration:.3s;position:relative;overflow:hidden}.project-card:hover{--tw-scale-x:1.02;--tw-scale-y:1.02;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));border-color:hsl(var(--primary)/.2);--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1));--tw-shadow:var(--tw-shadow-colored);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);--tw-shadow-color:hsl(var(--primary)/.2)}.project-card:is(.dark *){background-color:#111827b3}.project-card:hover:is(.dark *){border-color:hsl(var(--primary)/.3);--tw-shadow-color:hsl(var(--primary)/.3);--tw-shadow:var(--tw-shadow-colored);background-color:#1f2937cc}.project-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:1rem;display:flex}.project-folder-icon{--tw-text-opacity:1;width:1.25rem;height:1.25rem;color:rgb(37 99 235/var(--tw-text-opacity,1));transition-property:all;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);animation-duration:.2s}.group:hover .project-folder-icon{--tw-scale-x:1.1;--tw-scale-y:1.1;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));color:hsl(var(--primary));--tw-brightness:brightness(1.1);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)}.project-folder-icon:is(.dark *),.group:hover .project-folder-icon:is(.dark *){--tw-text-opacity:1;color:rgb(77 233 210/var(--tw-text-opacity,1))}.project-card-links{display:flex}.project-card-links>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*calc(1 - var(--tw-space-x-reverse)))}.project-card-link{transition-property:all;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);animation-duration:.2s}.project-card-link:hover{--tw-scale-x:1.1;--tw-scale-y:1.1;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));color:hsl(var(--primary));--tw-brightness:brightness(1.1);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)}.project-card-link:hover:is(.dark *){color:hsl(var(--primary))}.project-card-link-icon{--tw-text-opacity:1;width:1.25rem;height:1.25rem;color:rgb(55 65 81/var(--tw-text-opacity,1))}.project-card-link-icon:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.project-card-content{flex-direction:column;height:100%;display:flex}.project-card-title{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1));margin-bottom:.75rem;font-size:1.25rem;font-weight:700;line-height:1.75rem}.project-card-title:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.project-card-description{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1));flex:1;margin-bottom:1rem;font-size:.875rem;line-height:1.625;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);animation-duration:.2s}.group:hover .project-card-description{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.group:hover .project-card-description:is(.dark *){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.project-card-tech{flex-wrap:wrap;gap:.5rem;display:flex}.project-card-tech-item{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1));font-size:.75rem;font-weight:500;line-height:1rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);animation-duration:.2s}.group:hover .project-card-tech-item{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.group:hover .project-card-tech-item:is(.dark *){--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.projects-grid{max-width:72rem;margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}.projects-grid-container{grid-template-columns:repeat(1,minmax(0,1fr));align-items:stretch;gap:1.5rem;display:grid}@media (min-width:768px){.projects-grid-container{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.projects-grid-container{grid-template-columns:repeat(3,minmax(0,1fr))}}.project-modal-content{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));--tw-shadow:var(--tw-shadow-colored);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);--tw-shadow-color:hsl(var(--primary)/.1);border-width:1px;border-color:#0000;border-radius:1rem}.project-modal-content:is(.dark *){--tw-shadow-color:hsl(var(--primary)/.2);--tw-shadow:var(--tw-shadow-colored);background-color:#111827b3;border-color:#0000}.project-modal-title{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1));font-size:1.5rem;font-weight:700;line-height:2rem}.project-modal-title:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.project-modal-body{margin-top:1rem}.project-modal-body>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.project-modal-image-container{--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);width:100%;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);aspect-ratio:16/9;border-radius:.75rem;position:relative;overflow:hidden}.project-modal-image{object-fit:cover;width:100%;height:100%}.project-modal-description{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1));font-size:.875rem;line-height:1.625}.project-modal-tech-section>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.project-modal-tech-title{text-transform:uppercase;letter-spacing:.05em;--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1));font-size:.875rem;font-weight:600;line-height:1.25rem}.project-modal-tech-title:is(.dark *){--tw-text-opacity:1;color:rgb(77 233 210/var(--tw-text-opacity,1))}.project-modal-tech-list{flex-wrap:wrap;gap:.5rem;display:flex}.project-modal-tech-badge{border-radius:calc(var(--radius) - 2px);--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1));padding:.25rem .5rem;font-size:.75rem;font-weight:500;line-height:1rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);animation-duration:.2s}.project-modal-tech-badge:is(.dark *){--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1));background-color:#1f293780}.project-modal-links{flex-wrap:wrap;gap:.75rem;padding-top:.5rem;display:flex}.project-modal-link{border-radius:.75rem;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;line-height:1.25rem;transition-property:all;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1);animation-duration:.3s;display:inline-flex}.project-modal-link:hover{--tw-translate-y:-.125rem;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));--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);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.project-modal-demo-link{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.project-modal-demo-link:hover{--tw-shadow-color:#3b82f64d;--tw-shadow:var(--tw-shadow-colored);--tw-brightness:brightness(1.1);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)}.project-modal-demo-link:is(.dark *){--tw-bg-opacity:1;background-color:rgb(77 233 210/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.project-modal-demo-link:hover:is(.dark *){--tw-shadow-color:#4de9d24d;--tw-shadow:var(--tw-shadow-colored)}.project-modal-repo-link{--tw-border-opacity:1;border-width:1px;border-color:rgb(229 231 235/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.project-modal-repo-link:hover{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1));border-color:#3b82f680}.project-modal-repo-link:is(.dark *){--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.project-modal-repo-link:hover:is(.dark *){--tw-text-opacity:1;color:rgb(77 233 210/var(--tw-text-opacity,1));border-color:#4de9d280}
.experience-bg-decoration{pointer-events:none;position:absolute;inset:0;overflow:hidden}.experience-decoration-orb-1{filter:blur(12px);background:linear-gradient(90deg,#4de9d21a,#a855f71a);border-radius:50%;width:4rem;height:4rem;animation:8s ease-in-out infinite float-slow;position:absolute;top:5rem;left:2.5rem}.experience-decoration-orb-2{filter:blur(24px);background:linear-gradient(90deg,#3b82f60d,#4de9d20d);border-radius:50%;width:5rem;height:5rem;animation:12s ease-in-out infinite float-slower;position:absolute;bottom:5rem;right:2.5rem}.experience-card{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#ffffffb3;border:1px solid #e5e7eb80;border-radius:.5rem;box-shadow:0 10px 15px -3px #0000000d,0 4px 6px -2px #0000000d}.dark .experience-card{background:#ffffff0d;border-color:#ffffff1a;box-shadow:0 10px 15px -3px #0003,0 4px 6px -2px #0003}.experience-button-selected{color:#111827;background:linear-gradient(90deg,#4de9d233,#a855f733);border:1px solid #4de9d24d}.dark .experience-button-selected{color:#f3f4f6}.experience-button-unselected{color:#374151;background:#f9fafb80;border:1px solid #0000;transition:all .3s}.experience-button-unselected:hover{background:#f3f4f680}.dark .experience-button-unselected{color:#d1d5db;background:#1f293733}.dark .experience-button-unselected:hover{background:#37415133}.experience-company-link{color:#0000;cursor:pointer;background:linear-gradient(90deg,#4de9d2,#a855f7);-webkit-background-clip:text;background-clip:text;transition:all .3s}.experience-company-link:hover{background:linear-gradient(90deg,#3dd1b5,#8b5cf6);-webkit-background-clip:text;background-clip:text}.experience-type-label{color:#374151;background:linear-gradient(90deg,#4de9d233,#a855f733);border:1px solid #4de9d24d;border-radius:9999px;padding:.25rem .5rem;font-size:.75rem;font-weight:500}.dark .experience-type-label{color:#d1d5db}.experience-period-dot{background-color:#4de9d2;border-radius:50%;width:.25rem;height:.25rem;animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}.experience-description-container{background:#ffffff80;border:1px solid #e5e7eb4d;border-radius:.5rem;padding:.75rem}.dark .experience-description-container{background:#ffffff0d;border-color:#ffffff1a}.experience-description-item{align-items:flex-start;gap:.5rem;display:flex}.experience-description-dot{background:linear-gradient(90deg,#4de9d2,#a855f7);border-radius:50%;flex-shrink:0;width:.25rem;height:.25rem;margin-top:.25rem;transition:transform .3s}.experience-description-item:hover .experience-description-dot{transform:scale(1.25)}.experience-description-text{color:#374151;font-size:.875rem;line-height:1.6;transition:color .3s}.experience-description-item:hover .experience-description-text{color:#111827}.dark .experience-description-text{color:#d1d5db}.dark .experience-description-item:hover .experience-description-text{color:#f3f4f6}.experience-selected-indicator{background-color:#4de9d2;border-radius:50%;width:.375rem;height:.375rem;animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}@keyframes float-slow{0%,to{transform:translateY(0)translate(0)rotate(0)}33%{transform:translateY(-10px)translate(5px)rotate(1deg)}66%{transform:translateY(-5px)translate(-5px)rotate(-1deg)}}@keyframes float-slower{0%,to{transform:translateY(0)translate(0)}50%{transform:translateY(-15px)translate(10px)}}.animate-float-slow{animation:8s ease-in-out infinite float-slow}.animate-float-slower{animation:12s ease-in-out infinite float-slower}
.contact-section{text-align:center}.contact-description{color:#4b5563;margin-bottom:1rem}.dark .contact-description{color:#d1d5db}.contact-email{color:#000;margin-bottom:1rem}.dark .contact-email{color:#fff}.contact-icons{justify-content:center;align-items:center;gap:1rem;display:flex}.contact-icon-link{color:#4b5563;transition:color .3s}.contact-icon-link:hover{color:#4de9d2}.dark .contact-icon-link{color:#9ca3af}.dark .contact-icon-link:hover{color:#4de9d2}.contact-icon{width:1.25rem;height:1.25rem;transition:transform .3s}.contact-icon-link:hover .contact-icon{transform:scale(1.1)}.contact-paragraph-animate{opacity:0;transform:translateY(20px)}.contact-email-animate{opacity:0;transform:scale(.8)}.contact-icons-animate{opacity:0;transform:translateY(10px)}@media (max-width:640px){.contact-icons{gap:.75rem}.contact-icon{width:1rem;height:1rem}}
@font-face{font-family:Patrick Hand;font-style:normal;font-weight:400;font-display:swap;src:url(../media/57dd297ff72c8fa7-s.5bf52cce.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Patrick Hand;font-style:normal;font-weight:400;font-display:swap;src:url(../media/85c577ec7d0c8010-s.cd9f51c4.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Patrick Hand;font-style:normal;font-weight:400;font-display:swap;src:url(../media/f8cabcee3b0c666c-s.p.b364ada9.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Patrick Hand Fallback;src:local(Arial);ascent-override:127.97%;descent-override:38.32%;line-gap-override:0.0%;size-adjust:81.43%}.patrick_hand_3fb2dc44-module__ymFqnW__className{font-family:Patrick Hand,Patrick Hand Fallback;font-style:normal;font-weight:400}
.typing-word-ahmed{color:var(--ahmed-text-color);margin-left:.1em}.typing-word-here{color:var(--color-black-color-if-white);margin-left:.1em}.profile-container{animation:3s ease-in-out infinite float}.profile-border{animation:2s ease-in-out infinite alternate borderGlow}.profile-container .profile-image{transition:all .5s}.profile-pulse-overlay{opacity:0;border:2px solid #4de9d2;border-radius:50%;transition:opacity .3s;position:absolute;inset:-6px}.profile-container:hover .profile-pulse-overlay{opacity:.3;animation:1s infinite ping}.contact-button{color:#000;background:#b3f2eb;border:2px solid #4de9d2;border-radius:50px;align-items:center;padding:12px 24px;font-weight:500;transition:all .3s;display:inline-flex}.contact-button:hover{background:#4de9d2}.contact-button:focus{outline:none;box-shadow:0 0 0 2px #4de9d2}.contact-button-icon{width:20px;height:20px;margin-right:12px}@keyframes float{50%{transform:translateY(-2px)}}@keyframes borderGlow{50%{box-shadow:0 0 40px #4de9d2cc,0 0 60px #4de9d24d}}@keyframes ping{to{opacity:0;transform:scale(2)}}
.intro-screen{z-index:50;background:#000;justify-content:center;align-items:center;transition:all .8s;display:flex;position:fixed;inset:0}.intro-screen.fade-out{opacity:0;transform:scale(1.1)}.intro-background{background:linear-gradient(to bottom right,#000,#030712,#000);position:absolute;inset:0}.intro-background-animation{position:absolute;inset:0;overflow:hidden}.intro-orb-primary{filter:blur(48px);background:linear-gradient(to bottom right,#ffffff0d,#d1d5db0d);border-radius:50%;width:24rem;height:24rem;animation:2s cubic-bezier(.4,0,.6,1) infinite pulse;position:absolute;top:25%;right:25%}.intro-orb-secondary{filter:blur(48px);background:linear-gradient(to bottom right,#9ca3af0d,#ffffff0d);border-radius:50%;width:20rem;height:20rem;animation:2s cubic-bezier(.4,0,.6,1) 1s infinite pulse;position:absolute;bottom:25%;left:25%}.intro-text-backdrop{filter:blur(12px);background:linear-gradient(90deg,#0000,#1f29374d,#0000);border-radius:9999px;position:absolute;inset:0}.intro-hello-container{margin-bottom:2rem;position:relative}.intro-hello-text{letter-spacing:normal;color:#fff;filter:drop-shadow(0 0 60px #fff3);text-shadow:0 0 40px #ffffff4d;font-size:clamp(3.75rem,8vw,9rem);font-weight:300;line-height:1}.intro-hello-text-inner{color:#fff;filter:drop-shadow(0 0 60px #fff3)}.intro-hello-word{font-family:var(--font-dancing-script),"Dancing Script",cursive;text-shadow:0 0 40px #ffffff4d;color:#fff;font-weight:500}.intro-hello-glow{color:#fff;filter:blur(2px);opacity:.3;z-index:-10;position:absolute;inset:0}.intro-subtitle{color:#9ca3af;letter-spacing:.05em;font-size:clamp(1.125rem,2vw,2rem);font-weight:300;transition:all .8s 1.5s}.intro-subtitle.show{opacity:1;transform:translateY(0)}.intro-subtitle.hide{opacity:0;transform:translateY(1rem)}.intro-subtitle-name{color:#d1d5db}.intro-loading{justify-content:center;gap:.5rem;margin-top:3rem;transition:all .8s 1.8s;display:flex}.intro-loading.show{opacity:1;transform:translateY(0)}.intro-loading.hide{opacity:0;transform:translateY(1rem)}.intro-loading-dot{background-color:#4b5563;border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite both loadingPulse}.intro-loading-dot:first-child{animation-delay:-.32s}.intro-loading-dot:nth-child(2){animation-delay:-.16s}.intro-loading-dot:nth-child(3){animation-delay:0s}@keyframes loadingPulse{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}@media (max-width:768px){.intro-orb-primary{width:16rem;height:16rem}.intro-orb-secondary{width:12rem;height:12rem}}
