/*
! tailwindcss v3.4.10 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){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-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,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{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,: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:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.absolute{position:absolute}.\!relative{position:relative!important}.relative{position:relative}.inset-0{inset:0}.\!right-0{right:0!important}.\!top-0{top:0!important}.left-0{left:0}.right-0{right:0}.top-0{top:0}.z-10{z-index:10}.mx-auto{margin-left:auto;margin-right:auto}.my-8{margin-top:2rem;margin-bottom:2rem}.\!mb-0{margin-bottom:0!important}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mr-2{margin-right:.5rem}.mt-12{margin-top:3rem}.flex{display:flex}.grid{display:grid}.h-2\.5{height:.625rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-\[320px\]{height:320px}.max-h-\[90vh\]{max-height:90vh}.min-h-screen{min-height:100vh}.w-2\.5{width:.625rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-\[320px\]{width:320px}.w-full{width:100%}.max-w-7xl{max-width:80rem}.flex-1{flex:1 1 0%}.flex-grow{flex-grow:1}.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))}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-5{gap:1.25rem}.space-x-10>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2.5rem * var(--tw-space-x-reverse));margin-left:calc(2.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(3rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded-bl{border-bottom-left-radius:.25rem}.rounded-br{border-bottom-right-radius:.25rem}.p-1{padding:.25rem}.p-3{padding:.75rem}.p-8{padding:2rem}.px-4{padding-left:1rem;padding-right:1rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.text-center{text-align:center}.text-2xl{font-size:1.5rem;line-height:2rem}.text-sm{font-size:.875rem;line-height:1.25rem}.font-light{font-weight:300}.uppercase{text-transform:uppercase}.tracking-\[0\.15em\]{letter-spacing:.15em}.tracking-\[0\.25em\]{letter-spacing:.25em}.text-green-400{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity))}.text-white\/30{color:hsla(0,0%,100%,.3)}.text-white\/40{color:hsla(0,0%,100%,.4)}.text-white\/70{color:hsla(0,0%,100%,.7)}.opacity-0{opacity:0}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-\[100px\]{--tw-backdrop-blur:blur(100px);-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-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-500{transition-duration:.5s}.duration-700{transition-duration:.7s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}:root{--foreground-rgb:255,255,255;--background-start-rgb:10,10,18;--background-end-rgb:6,6,12;--accent-primary:#818cf8;--accent-secondary:#c084fc;--accent-glow:rgba(129,140,248,.4);--glass-bg:hsla(0,0%,100%,.03);--glass-border:hsla(0,0%,100%,.06);--glass-bg-hover:hsla(0,0%,100%,.07);--glass-border-hover:hsla(0,0%,100%,.12)}@media (prefers-color-scheme:dark){:root{--foreground-rgb:255,255,255;--background-start-rgb:10,10,18;--background-end-rgb:6,6,12}}html{-webkit-text-size-adjust:100%}body{color:rgb(var(--foreground-rgb));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}body,html{width:100%;height:100%}body,html{touch-action:none;-ms-touch-action:none;overflow:hidden;position:fixed}*{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.bg-gradient-animate{background:radial-gradient(circle at 20% 20%,rgba(129,140,248,.08),transparent 40%),radial-gradient(circle at 80% 30%,rgba(192,132,252,.06),transparent 40%),radial-gradient(circle at 60% 80%,rgba(236,72,153,.05),transparent 40%),radial-gradient(circle at 10% 70%,rgba(34,211,238,.04),transparent 40%),linear-gradient(180deg,rgb(var(--background-start-rgb)) 0,rgb(var(--background-end-rgb)) 100%);background-attachment:fixed}.bg-grid{background-image:linear-gradient(hsla(0,0%,100%,.015) 1px,transparent 0),linear-gradient(90deg,hsla(0,0%,100%,.015) 1px,transparent 0);background-size:60px 60px}.floating-orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.5;animation:float 20s ease-in-out infinite;pointer-events:none}.floating-orb-1{width:400px;height:400px;background:radial-gradient(circle,rgba(129,140,248,.15),transparent 70%);top:-100px;left:-100px;animation-duration:25s}.floating-orb-2{width:350px;height:350px;background:radial-gradient(circle,rgba(192,132,252,.12),transparent 70%);top:50%;right:-80px;animation-duration:30s;animation-delay:-5s}.floating-orb-3{width:300px;height:300px;background:radial-gradient(circle,rgba(236,72,153,.1),transparent 70%);bottom:-50px;left:30%;animation-duration:22s;animation-delay:-10s}@keyframes float{0%,to{transform:translate(0) scale(1)}25%{transform:translate(30px,-20px) scale(1.05)}50%{transform:translate(-20px,30px) scale(.95)}75%{transform:translate(20px,20px) scale(1.02)}}.heading-xl{font-size:3.5rem;font-weight:800;letter-spacing:-.02em;line-height:1.1}.heading-lg{font-size:2rem;font-weight:700;letter-spacing:-.01em}.text-gradient{background:linear-gradient(135deg,#fff,#c7d2fe 40%,#a78bfa 70%,#818cf8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.text-gradient-subtle{background:linear-gradient(135deg,hsla(0,0%,100%,.9),rgba(199,210,254,.7));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.glass-panel{padding:2.5rem 3.5rem;border-radius:1.5rem;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:0 0 0 1px hsla(0,0%,100%,.03),0 8px 40px -12px rgba(0,0,0,.3),inset 0 1px 0 hsla(0,0%,100%,.04);max-width:fit-content;transition:all .5s cubic-bezier(.4,0,.2,1)}.glass-panel:hover{background:var(--glass-bg-hover);border-color:var(--glass-border-hover);box-shadow:0 0 0 1px hsla(0,0%,100%,.06),0 12px 50px -12px rgba(0,0,0,.4),0 0 60px -20px var(--accent-glow),inset 0 1px 0 hsla(0,0%,100%,.06)}.canvas-wrapper{width:320px;height:320px;max-width:320px;max-height:320px;overflow:hidden;margin:0 auto;position:relative;border-radius:1.5rem;touch-action:none;-webkit-tap-highlight-color:transparent}.canvas-wrapper:before{content:"";position:absolute;inset:-2px;border-radius:1.5rem;background:linear-gradient(135deg,rgba(129,140,248,.3),rgba(192,132,252,.2),rgba(236,72,153,.15),transparent);opacity:0;transition:opacity .5s ease;z-index:-1;filter:blur(8px)}.canvas-wrapper:hover:before{opacity:1}.canvas-glow{position:absolute;inset:-40px;border-radius:50%;background:radial-gradient(circle,rgba(129,140,248,.08),transparent 70%);pointer-events:none;animation:pulse-glow 4s ease-in-out infinite}@keyframes pulse-glow{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}canvas{width:320px!important;height:320px!important;max-width:320px!important;max-height:320px!important}.nav-btn{position:relative;padding:.75rem 2rem;border-radius:9999px;background:var(--glass-bg);border:1px solid var(--glass-border);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:all .4s cubic-bezier(.4,0,.2,1);overflow:hidden}.nav-btn:before{content:"";position:absolute;inset:0;border-radius:9999px;background:linear-gradient(135deg,rgba(129,140,248,.15),rgba(192,132,252,.1));opacity:0;transition:opacity .4s ease}.nav-btn:hover:before{opacity:1}.nav-btn:after{content:"";position:absolute;bottom:0;left:50%;width:0;height:2px;background:linear-gradient(90deg,var(--accent-primary),var(--accent-secondary));transform:translateX(-50%);transition:width .4s cubic-bezier(.4,0,.2,1);border-radius:9999px}.nav-btn:hover:after{width:60%}.nav-btn:hover{border-color:rgba(129,140,248,.2);transform:translateY(-2px);box-shadow:0 8px 30px -8px rgba(129,140,248,.2)}.nav-btn span{position:relative;z-index:10}footer{position:fixed;bottom:0;left:0;right:0;width:100%}.footer-link{position:relative;color:hsla(0,0%,100%,.4);letter-spacing:.1em;font-size:.75rem;text-transform:uppercase;transition:all .3s ease;padding:.5rem 0}.footer-link:after{content:"";position:absolute;bottom:0;left:0;width:0;height:1px;background:linear-gradient(90deg,var(--accent-primary),transparent);transition:width .3s ease}.footer-link:hover{color:hsla(0,0%,100%,.9)}.footer-link:hover:after{width:100%}.card{background:var(--glass-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:1rem;box-shadow:0 8px 32px rgba(0,0,0,.15);transition:all .4s cubic-bezier(.4,0,.2,1)}.card:hover{transform:translateY(-4px);box-shadow:0 16px 48px rgba(0,0,0,.25);border-color:var(--glass-border-hover)}.input-field{width:100%;padding:.875rem 1.25rem;border-radius:.75rem;margin-bottom:1rem;background-color:rgba(15,15,25,.8);border:1px solid hsla(0,0%,100%,.06);color:#fff;transition:all .3s ease;backdrop-filter:blur(8px);font-size:.9rem}.input-field::placeholder{color:hsla(0,0%,100%,.3)}.input-field:focus{border-color:rgba(129,140,248,.3);outline:none;box-shadow:0 0 0 3px rgba(129,140,248,.08),0 0 20px rgba(129,140,248,.05)}.btn-primary{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:.75rem;font-weight:500;font-size:.9rem;color:#fff;background:linear-gradient(135deg,#4f46e5,#7c3aed);transition:all .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.btn-primary:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,hsla(0,0%,100%,.1),transparent);opacity:0;transition:opacity .3s ease}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 30px -8px rgba(79,70,229,.4)}.btn-primary:hover:before{opacity:1}.btn-glass{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;border-radius:.5rem;font-size:.85rem;color:hsla(0,0%,100%,.7);background:var(--glass-bg);border:1px solid var(--glass-border);transition:all .3s ease}.btn-glass:hover{color:#fff;background:var(--glass-bg-hover);border-color:var(--glass-border-hover)}.btn-danger{background:rgba(239,68,68,.2);color:#f87171;border:1px solid rgba(239,68,68,.2)}.btn-danger:hover{background:rgba(239,68,68,.3);border-color:rgba(239,68,68,.4)}.modal-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:50;background:rgba(0,0,0,.7);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);animation:fadeIn .3s ease-out}.modal-content{position:relative;background:linear-gradient(160deg,rgba(20,20,35,.98),rgba(10,10,20,.98));border:1px solid hsla(0,0%,100%,.06);border-radius:1.5rem;box-shadow:0 32px 64px -16px rgba(0,0,0,.5),0 0 0 1px hsla(0,0%,100%,.03),inset 0 1px 0 hsla(0,0%,100%,.04);max-height:90vh;overflow-y:auto;animation:modalSlideIn .35s cubic-bezier(.4,0,.2,1)}.modal-title{font-size:1.5rem;font-weight:700;margin-bottom:1.5rem}.close-btn{position:absolute;top:1rem;right:1rem;width:2.25rem;height:2.25rem;display:flex;align-items:center;justify-content:center;border-radius:50%;color:hsla(0,0%,100%,.4);background:hsla(0,0%,100%,.03);border:1px solid hsla(0,0%,100%,.05);transition:all .3s ease;z-index:10}.close-btn:hover{color:#fff;background:hsla(0,0%,100%,.08);border-color:hsla(0,0%,100%,.12);transform:rotate(90deg)}.portfolio-modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:50;background:rgba(0,0,0,.7);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.portfolio-modal-content{position:relative;width:100%;max-width:72rem;margin:1rem;padding:2rem;background:linear-gradient(160deg,rgba(20,20,35,.98),rgba(10,10,20,.98));border:1px solid hsla(0,0%,100%,.06);border-radius:1.5rem;box-shadow:0 32px 64px -16px rgba(0,0,0,.5),inset 0 1px 0 hsla(0,0%,100%,.04);animation:modalSlideIn .35s cubic-bezier(.4,0,.2,1)}.portfolio-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.portfolio-title{font-size:1.75rem;font-weight:700;background:linear-gradient(135deg,#fff,#a78bfa,#818cf8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.portfolio-button{padding:.5rem 1.25rem;border-radius:.5rem;color:#fff;font-weight:500;font-size:.85rem;background:var(--glass-bg);border:1px solid var(--glass-border);transition:all .3s ease}.portfolio-button:hover{background:var(--glass-bg-hover);border-color:var(--glass-border-hover);transform:translateY(-1px);box-shadow:0 4px 16px -4px rgba(0,0,0,.2)}.portfolio-items-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));padding:1rem 0}.portfolio-item{position:relative;background:hsla(0,0%,100%,.02);border:1px solid hsla(0,0%,100%,.05);border-radius:1rem;overflow:hidden;transition:all .4s cubic-bezier(.4,0,.2,1)}.portfolio-item:hover{border-color:rgba(129,140,248,.15);transform:translateY(-4px);box-shadow:0 16px 40px rgba(0,0,0,.2)}.portfolio-image-container{position:relative;width:100%;display:flex;justify-content:center;align-items:center;height:12rem;overflow:hidden;z-index:1}.portfolio-image{max-height:100%;max-width:100%;object-fit:cover;transition:transform .4s ease}.portfolio-item:hover .portfolio-image{transform:scale(1.05)}.expand-icon{position:absolute;bottom:.5rem;right:.5rem;color:#fff;background:rgba(0,0,0,.5);backdrop-filter:blur(8px);padding:.35rem;border-radius:50%;opacity:0;transition:all .3s ease}.portfolio-item:hover .expand-icon{opacity:1}.portfolio-description{color:hsla(0,0%,100%,.5);font-size:.8rem;text-align:center;margin:.75rem 0}.portfolio-text{color:hsla(0,0%,100%,.6);font-size:.85rem;padding:0 1rem 1rem;line-height:1.6}.admin-controls{padding:1.5rem;border-radius:1rem;margin-bottom:1.5rem;background:hsla(0,0%,100%,.02);border:1px solid hsla(0,0%,100%,.05)}.custom-buttons-container{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:.5rem;margin:1rem auto;max-width:400px}.button-wrapper{position:relative;display:inline-block}.delete-button{position:absolute;top:-.35rem;right:-.35rem;width:1.25rem;height:1.25rem;display:flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(239,68,68,.8);color:#fff;font-size:.6rem;opacity:0;transition:all .2s ease;z-index:10}.button-wrapper:hover .delete-button{opacity:1}.move-button{background:hsla(0,0%,100%,.1);color:#fff;border:none;border-radius:.25rem;padding:.25rem;cursor:pointer;transition:background .2s ease;opacity:0}.move-button:hover{background:hsla(0,0%,100%,.2)}.move-button:disabled{background:hsla(0,0%,100%,.05);cursor:not-allowed;opacity:0}.portfolio-item:hover .delete-button,.portfolio-item:hover .move-button{opacity:1}.save-text-button{width:100%;padding:.5rem 1rem;display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:.5rem;border-radius:.5rem;background:rgba(15,15,25,.6);border:1px solid hsla(0,0%,100%,.06);color:hsla(0,0%,100%,.7);font-size:.8rem;transition:all .2s ease}.save-text-button:hover{border-color:hsla(0,0%,100%,.12);color:#fff;background:rgba(30,30,50,.8)}.add-portfolio-button{width:100%;padding:.75rem 1.5rem;display:flex;align-items:center;justify-content:center;gap:.5rem;border-radius:.75rem;background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;font-weight:500;transition:all .3s ease;border:none}.add-portfolio-button:hover{transform:translateY(-2px);box-shadow:0 8px 24px -6px rgba(79,70,229,.4)}.auth-button{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:.5rem;background:hsla(0,0%,100%,.03);border:1px solid hsla(0,0%,100%,.06);transition:all .3s ease;color:hsla(0,0%,100%,.6)}.auth-button:hover{background:hsla(0,0%,100%,.07);border-color:hsla(0,0%,100%,.12);color:#fff}.empty-state{text-align:center;color:hsla(0,0%,100%,.3);padding:2rem 0;font-size:.9rem}.intro-modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:50;background:rgba(0,0,0,.7);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);animation:fadeIn .3s ease-out}.intro-modal-content{position:relative;width:100%;max-width:48rem;margin:1rem;background:linear-gradient(160deg,rgba(20,20,35,.98),rgba(10,10,20,.98));border:1px solid hsla(0,0%,100%,.06);border-radius:1.5rem;box-shadow:0 32px 64px -16px rgba(0,0,0,.5),inset 0 1px 0 hsla(0,0%,100%,.04);overflow:hidden;animation:modalSlideIn .35s cubic-bezier(.4,0,.2,1)}.intro-content{padding:3rem}.intro-header{margin-bottom:2.5rem;text-align:center}.intro-title{font-size:2.25rem;font-weight:700;margin-bottom:1rem;background:linear-gradient(135deg,#fff,#a78bfa,#818cf8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:.05em}.intro-subtitle{font-size:1rem;color:hsla(0,0%,100%,.6);line-height:1.7}.intro-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.intro-card{display:flex;align-items:flex-start;gap:1rem;padding:1.25rem;border-radius:.75rem;background:hsla(0,0%,100%,.02);border:1px solid hsla(0,0%,100%,.04);transition:all .3s ease}.intro-card:hover{background:hsla(0,0%,100%,.04);border-color:hsla(0,0%,100%,.08);transform:translateY(-2px)}.intro-emoji{font-size:1.5rem;flex-shrink:0;line-height:1}.intro-card p{color:hsla(0,0%,100%,.6);line-height:1.6;font-size:.9rem}.contact-modal-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:50;background:rgba(0,0,0,.7);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);animation:fadeIn .3s ease-out}.contact-modal-content{position:relative;width:100%;max-width:28rem;margin:1rem;padding:2rem;background:linear-gradient(160deg,rgba(20,20,35,.98),rgba(10,10,20,.98));border:1px solid hsla(0,0%,100%,.06);border-radius:1.5rem;box-shadow:0 32px 64px -16px rgba(0,0,0,.5),inset 0 1px 0 hsla(0,0%,100%,.04);animation:modalSlideIn .35s cubic-bezier(.4,0,.2,1)}.contact-modal-close{position:absolute;top:1rem;right:1rem;color:hsla(0,0%,100%,.4);transition:all .3s ease}.contact-modal-close:hover{color:#fff;transform:rotate(90deg)}.contact-modal-title{font-size:1.75rem;font-weight:700;margin-bottom:1.5rem;background:linear-gradient(135deg,#fff,#a78bfa,#818cf8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.contact-modal-input,.contact-modal-textarea{width:100%;padding:1rem 1.25rem;margin-bottom:1rem;background:rgba(15,15,25,.8);color:#fff;border-radius:.75rem;border:1px solid hsla(0,0%,100%,.06);font-size:.9rem;transition:all .3s ease;backdrop-filter:blur(8px)}.contact-modal-input::placeholder,.contact-modal-textarea::placeholder{color:hsla(0,0%,100%,.3)}.contact-modal-input:focus,.contact-modal-textarea:focus{border-color:rgba(129,140,248,.3);outline:none;box-shadow:0 0 0 3px rgba(129,140,248,.08)}.contact-modal-textarea{min-height:120px;resize:none}.contact-modal-submit{width:100%;padding:.875rem 1.5rem;font-size:.9rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#4f46e5,#7c3aed);border:none;border-radius:.75rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.contact-modal-submit:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,hsla(0,0%,100%,.1),transparent);opacity:0;transition:opacity .3s ease}.contact-modal-submit:hover{transform:translateY(-2px);box-shadow:0 8px 30px -6px rgba(79,70,229,.4)}.contact-modal-submit:hover:before{opacity:1}.fullscreen-overlay{position:fixed;inset:0;display:flex;justify-content:center;align-items:center;z-index:1000;background:rgba(0,0,0,.9);backdrop-filter:blur(20px);animation:fadeIn .3s ease-out}.fullscreen-image-container{position:relative;width:90%;height:90%;animation:fadeIn .3s ease-out}.fullscreen-image{object-fit:contain}.fullscreen-close{position:absolute;top:1rem;right:1rem;width:2.5rem;height:2.5rem;display:flex;justify-content:center;align-items:center;background:hsla(0,0%,100%,.1);backdrop-filter:blur(8px);color:#fff;border:1px solid hsla(0,0%,100%,.1);border-radius:50%;cursor:pointer;transition:all .3s ease}.fullscreen-close:hover{background:hsla(0,0%,100%,.2);transform:rotate(90deg)}.edit-input{background:rgba(15,15,25,.8);color:#fff;border:1px solid hsla(0,0%,100%,.06);border-radius:.5rem;padding:.5rem .75rem;width:100%;font-size:.85rem;transition:all .2s ease}.edit-input:focus{outline:none;border-color:rgba(129,140,248,.3)}.cancel-edit-button,.save-edit-button{padding:.35rem .75rem;border-radius:.375rem;font-size:.8rem;font-weight:500;transition:all .2s ease;border:none;cursor:pointer}.save-edit-button{background:rgba(34,197,94,.2);color:#4ade80;border:1px solid rgba(34,197,94,.2)}.save-edit-button:hover{background:rgba(34,197,94,.3)}.cancel-edit-button{background:rgba(239,68,68,.2);color:#f87171;border:1px solid rgba(239,68,68,.2)}.cancel-edit-button:hover{background:rgba(239,68,68,.3)}.button-name-container{display:flex;align-items:center;justify-content:center;margin-bottom:1rem}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:rgba(129,140,248,.3);border-radius:9999px}::-webkit-scrollbar-thumb:hover{background:rgba(129,140,248,.5)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slideOut{0%{transform:translateY(0);opacity:1}to{transform:translateY(16px);opacity:0}}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.animate-entrance{animation:fadeSlideUp .8s cubic-bezier(.4,0,.2,1) forwards;opacity:0}.animate-delay-1{animation-delay:.1s}.animate-delay-2{animation-delay:.25s}.animate-delay-3{animation-delay:.4s}.animate-delay-4{animation-delay:.55s}.modal-closing{animation:fadeOut .25s ease-out forwards}.modal-content-closing{animation:modalClose .25s ease-out forwards}@keyframes modalClose{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.96) translateY(8px)}}.button-modal-animation{animation:modalSlideIn .3s ease-out;transform-origin:center}button{cursor:pointer}.input-field,.modal-content,.modal-title{color:#fff}.bg-container{position:relative;width:100%;height:100vh;overflow:hidden}.bg-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.4),rgba(0,0,0,.7));backdrop-filter:blur(10px);z-index:1}.canvas-container{width:300px;height:300px;position:relative}.action-button{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;border-radius:.75rem;font-size:.85rem;font-weight:500;color:#fff;background:linear-gradient(135deg,#4f46e5,#7c3aed);border:none;transition:all .3s ease}.action-button:hover{transform:translateY(-2px);box-shadow:0 8px 24px -6px rgba(79,70,229,.35)}.custom-button-modal-content{display:flex;flex-direction:column}.custom-button-items-container{flex-grow:1;overflow-y:auto;margin-top:1rem;max-height:calc(100% - 150px)}.nav-link{position:relative;overflow:hidden;border-radius:9999px;transition:all .3s ease}.bg-overlay{background:linear-gradient(180deg,rgba(0,0,0,.3),rgba(0,0,0,.6))}.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}.hover\:scale-105:hover,.hover\:scale-\[1\.02\]: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-\[1\.02\]:hover{--tw-scale-x:1.02;--tw-scale-y:1.02}.group:hover .group-hover\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.group:hover .group-hover\:opacity-100{opacity:1}@media (min-width:640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:768px){.md\:col-span-2{grid-column:span 2/span 2}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Inter_Fallback_f367f3;src:local("Arial");ascent-override:90.49%;descent-override:22.56%;line-gap-override:0.00%;size-adjust:107.06%}.__className_f367f3{font-family:__Inter_f367f3,__Inter_Fallback_f367f3;font-style:normal}.__variable_f367f3{--font-inter:"__Inter_f367f3","__Inter_Fallback_f367f3"}@font-face{font-family:__Space_Grotesk_dd5b2f;font-style:normal;font-weight:300 700;font-display:swap;src:url(/_next/static/media/e1aab0933260df4d-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Space_Grotesk_dd5b2f;font-style:normal;font-weight:300 700;font-display:swap;src:url(/_next/static/media/b7387a63dd068245-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:__Space_Grotesk_dd5b2f;font-style:normal;font-weight:300 700;font-display:swap;src:url(/_next/static/media/36966cca54120369-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Space_Grotesk_Fallback_dd5b2f;src:local("Arial");ascent-override:89.71%;descent-override:26.62%;line-gap-override:0.00%;size-adjust:109.69%}.__className_dd5b2f{font-family:__Space_Grotesk_dd5b2f,__Space_Grotesk_Fallback_dd5b2f;font-style:normal}.__variable_dd5b2f{--font-heading:"__Space_Grotesk_dd5b2f","__Space_Grotesk_Fallback_dd5b2f"}