/*
! 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: }.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.left-0{left:0}.right-0{right:0}.right-6{right:1.5rem}.top-0{top:0}.top-6{top:1.5rem}.z-10{z-index:10}.m-0{margin:0}.mx-auto{margin-left:auto;margin-right:auto}.my-4{margin-top:1rem;margin-bottom:1rem}.my-8{margin-top:2rem;margin-bottom:2rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mr-2{margin-right:.5rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.flex{display:flex}.grid{display:grid}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-\[300px\]{height:300px}.h-full{height:100%}.max-h-\[95vh\]{max-height:95vh}.min-h-screen{min-height:100vh}.w-3{width:.75rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-\[300px\]{width:300px}.w-full{width:100%}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.flex-grow{flex-grow:1}.-skew-x-\[20deg\]{--tw-skew-x:-20deg}.-skew-x-\[20deg\],.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-6{gap:1.5rem}.gap-8{gap:2rem}.space-x-12>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(3rem * var(--tw-space-x-reverse));margin-left:calc(3rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-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-lg{border-radius:.5rem}.rounded-bl{border-bottom-left-radius:.25rem}.rounded-br{border-bottom-right-radius:.25rem}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity))}.bg-black\/10{background-color:rgba(0,0,0,.1)}.bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}.bg-opacity-50{--tw-bg-opacity:0.5}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-purple-500{--tw-gradient-from:#a855f7 var(--tw-gradient-from-position);--tw-gradient-to:rgba(168,85,247,0) 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:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.via-purple-300{--tw-gradient-to:rgba(216,180,254,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#d8b4fe var(--tw-gradient-via-position),var(--tw-gradient-to)}.to-blue-300{--tw-gradient-to:#93c5fd var(--tw-gradient-to-position)}.to-blue-500{--tw-gradient-to:#3b82f6 var(--tw-gradient-to-position)}.bg-clip-text{background-clip:text}.p-1{padding:.25rem}.p-4{padding:1rem}.p-8{padding:2rem}.px-4{padding-left:1rem;padding-right:1rem}.px-8{padding-left:2rem;padding-right:2rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-8{padding-top:2rem;padding-bottom:2rem}.text-center{text-align:center}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-6xl{font-size:3.75rem;line-height:1}.text-sm{font-size:.875rem;line-height:1.25rem}.font-light{font-weight:300}.uppercase{text-transform:uppercase}.tracking-\[0\.2em\]{letter-spacing:.2em}.tracking-\[0\.3em\]{letter-spacing:.3em}.tracking-tight{letter-spacing:-.025em}.tracking-wider{letter-spacing:.05em}.text-green-400{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity))}.text-transparent{color:transparent}.text-white\/40{color:hsla(0,0%,100%,.4)}.text-white\/50{color:hsla(0,0%,100%,.5)}.text-white\/60{color:hsla(0,0%,100%,.6)}.text-white\/80{color:hsla(0,0%,100%,.8)}.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)}.backdrop-blur-\[100px\],.backdrop-blur-md{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-md{--tw-backdrop-blur:blur(12px)}.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-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}:root{--foreground-rgb:255,255,255;--background-start-rgb:17,24,39;--background-end-rgb:10,15,24}@media (prefers-color-scheme:dark){:root{--foreground-rgb:255,255,255;--background-start-rgb:0,0,0;--background-end-rgb:0,0,0}}body{color:rgb(var(--foreground-rgb));background:radial-gradient(circle at 50% 0,rgba(99,102,241,.15),transparent 50%),radial-gradient(circle at 0 50%,rgba(147,51,234,.1),transparent 50%),radial-gradient(circle at 100% 50%,rgba(79,70,229,.1),transparent 50%),linear-gradient(180deg,rgb(var(--background-start-rgb)) 0,rgb(var(--background-end-rgb)) 100%);background-attachment:fixed}.bg-dark{background-color:#1a202c}.text-white{color:#fff}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-xl{font-size:1.25rem}.text-lg,.text-xl{line-height:1.75rem}.text-lg{font-size:1.125rem}.font-bold{font-weight:700}.mb-4{margin-bottom:1rem}.mt-8{margin-top:2rem}.space-x-4>*+*{margin-left:1rem}.card{border-radius:.75rem;border-width:1px;border-color:rgba(55,65,81,.3);background-color:rgba(31,41,55,.3);--tw-backdrop-blur:blur(16px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);box-shadow:0 8px 32px rgba(0,0,0,.2);transition:all .3s cubic-bezier(.4,0,.2,1)}.card:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.3);border-color:hsla(0,0%,100%,.1)}.card-title{font-size:1.5rem;font-weight:700;margin-bottom:1rem;color:#1a202c}.card-content{color:#4a5568;line-height:1.5}.card-close{position:absolute;top:.5rem;right:.5rem;color:#718096;cursor:pointer;transition:color .2s ease-in-out}.card-close:hover{color:#4a5568}.portfolio-modal{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.8);backdrop-filter:blur(10px)}.portfolio-modal-content{position:relative;width:100%;max-width:32rem;background:linear-gradient(145deg,rgba(29,32,43,.98),rgba(16,18,27,.98));border-radius:24px;box-shadow:0 25px 50px -12px rgba(0,0,0,.5),inset 0 1px 1px hsla(0,0%,100%,.1);margin:2rem auto;padding:2rem}.portfolio-header{margin-bottom:2rem;display:flex;align-items:center;justify-content:space-between}.portfolio-title{background-image:linear-gradient(to right,var(--tw-gradient-stops));--tw-gradient-from:#fff var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);--tw-gradient-to:rgba(216,180,254,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#d8b4fe var(--tw-gradient-via-position),var(--tw-gradient-to);--tw-gradient-to:#93c5fd var(--tw-gradient-to-position);background-clip:text;font-size:1.5rem;line-height:2rem;color:transparent;font-weight:700}.portfolio-section{flex-grow:1}.portfolio-section>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.portfolio-section{max-height:none;overflow-y:visible}.input-group{display:flex;flex-direction:column}.input-group>: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))}.custom-buttons-container{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:center;gap:.5rem;max-width:400px;margin:0 auto}.portfolio-button{border-radius:.5rem;padding:.5rem 1rem;font-weight:500;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;color:#fff;background:linear-gradient(145deg,hsla(0,0%,100%,.1),hsla(0,0%,100%,.05));border:1px solid hsla(0,0%,100%,.1)}.portfolio-button:hover{--tw-translate-y:-0.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 rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);border-color:hsla(0,0%,100%,.2);background:linear-gradient(145deg,hsla(0,0%,100%,.15),hsla(0,0%,100%,.08))}.portfolio-grid{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:1.5rem}@media (min-width:640px){.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.portfolio-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.portfolio-item{border-color:hsla(0,0%,100%,.1);transition:all .3s cubic-bezier(.4,0,.2,1)}.portfolio-item:hover{--tw-translate-y:-0.25rem;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:hsla(0,0%,100%,.2);box-shadow:0 20px 40px -12px rgba(0,0,0,.3)}.close-button{position:absolute;top:1rem;right:1rem;color:hsla(0,0%,100%,.6);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.close-button:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.input-field{border-radius:.75rem;border-width:1px;border-color:rgba(55,65,81,.5);background-color:rgba(31,41,55,.5);padding:1rem 1.25rem;backdrop-filter:blur(10px);transition:all .3s ease;margin-bottom:1.5rem}.input-field:focus{border-color:rgba(99,102,241,.5);--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-color:rgba(99,102,241,.2);box-shadow:0 0 20px rgba(99,102,241,.2)}.add-item-button,.create-button-button,.custom-button,.load-button{position:relative;overflow:hidden;border-radius:.75rem;background-image:linear-gradient(to right,var(--tw-gradient-stops));--tw-gradient-from:#6366f1 var(--tw-gradient-from-position);--tw-gradient-to:rgba(99,102,241,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);--tw-gradient-to:rgba(168,85,247,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#a855f7 var(--tw-gradient-via-position),var(--tw-gradient-to);--tw-gradient-to:#ec4899 var(--tw-gradient-to-position);padding:.75rem 1.5rem;font-weight:500;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity));color:#fff;transition:all .3s cubic-bezier(.4,0,.2,1)}.add-item-button:hover,.create-button-button:hover,.custom-button:hover,.load-button:hover{--tw-gradient-from:#4f46e5 var(--tw-gradient-from-position);--tw-gradient-to:rgba(79,70,229,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);--tw-gradient-to:rgba(147,51,234,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#9333ea var(--tw-gradient-via-position),var(--tw-gradient-to);--tw-gradient-to:#db2777 var(--tw-gradient-to-position);transform:translateY(-2px);box-shadow:0 8px 25px rgba(99,102,241,.3)}.custom-button{position:relative;overflow:hidden;border-radius:.75rem;padding:.75rem 1.5rem;font-weight:500;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;color:#fff;background:linear-gradient(90deg,#6366f1,#8b5cf6)}.custom-button:hover{--tw-translate-y:-0.125rem;--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);background:linear-gradient(90deg,#4f46e5,#7c3aed)}.custom-button:before,.custom-button: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))}.custom-button:before{content:"";position:absolute;inset:0;--tw-translate-x:-100%;background-image:linear-gradient(to right,var(--tw-gradient-stops));--tw-gradient-from:hsla(0,0%,100%,0) var(--tw-gradient-from-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);--tw-gradient-stops:var(--tw-gradient-from),hsla(0,0%,100%,.2) var(--tw-gradient-via-position),var(--tw-gradient-to);--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);transition:transform .6s ease}.custom-button:hover:before{--tw-translate-x:100%;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))}.delete-button{position:absolute;top:0;right:0;margin-top:-.5rem;margin-right:-.5rem;border-radius:9999px;--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity));padding:.25rem;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity));opacity:0;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1);color:#fff}.delete-button:hover{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity))}.group:hover .delete-button{opacity:1}.modal-overlay{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;background-color:rgb(0 0 0/var(--tw-bg-opacity));--tw-bg-opacity:0.75;animation:fadeIn .3s ease-out}.modal-content{border-radius:1rem;border-width:1px;border-color:rgba(31,41,55,.5);background-color:rgba(17,24,39,.9);--tw-backdrop-blur:blur(24px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);box-shadow:0 25px 50px -12px rgba(0,0,0,.4);max-height:90vh;overflow-y:auto}.modal-title{margin-bottom:1.5rem;font-size:1.5rem;line-height:2rem;font-weight:700}.modal-button-text,.modal-title{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity));color:#fff}.modal-button-text{font-weight:600;font-size:1.125rem;line-height:1.75rem}.custom-button-modal-content{display:flex;flex-direction:column}.custom-button-items-container{margin-top:1rem;flex-grow:1;overflow-y:auto;max-height:calc(100% - 150px)}.portfolio-items-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));padding:1.5rem 0}.portfolio-item{overflow:hidden;border-radius:.75rem;border-width:1px;border-color:rgba(55,65,81,.3);background-color:rgba(31,41,55,.3);--tw-backdrop-blur:blur(16px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);transition:all .4s cubic-bezier(.4,0,.2,1)}.portfolio-item:hover{border-color:rgba(99,102,241,.3);transform:translateY(-6px) scale(1.02);box-shadow:0 20px 40px rgba(0,0,0,.3)}.portfolio-image-container{display:flex;height:10rem;width:100%;align-items:center;justify-content:center;overflow:hidden;border-radius:.5rem;transition:transform .3s ease-in-out}.portfolio-image{max-height:100%;max-width:100%;object-fit:cover;transition-property:transform;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.portfolio-item:hover .portfolio-image{transform:scale(1.05)}.expand-icon{position:absolute;bottom:.5rem;right:.5rem;border-radius:9999px;background-color:rgb(0 0 0/var(--tw-bg-opacity));--tw-bg-opacity:0.5;padding:.25rem;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity));opacity:0;transition-property:opacity;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1);color:#fff}.portfolio-item:hover .expand-icon{opacity:1}.portfolio-description{margin-top:.5rem;text-align:center;font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:rgba(26,32,44,.5)}::-webkit-scrollbar-thumb{border-radius:9999px;background-image:linear-gradient(to bottom,var(--tw-gradient-stops));--tw-gradient-from:#6366f1 var(--tw-gradient-from-position);--tw-gradient-to:rgba(99,102,241,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);--tw-gradient-to:#a855f7 var(--tw-gradient-to-position)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slideIn{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.fullscreen-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.9);display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .3s ease-out}.fullscreen-overlay.closing{animation:fadeOut .3s ease-out forwards}.fullscreen-image-container{position:relative;width:90%;height:90%;animation:fadeIn .3s ease-out}.fullscreen-image{object-fit:contain}.fullscreen-close{position:absolute;top:20px;right:20px;background-color:rgba(0,0,0,.5);color:#fff;border:none;border-radius:50%;width:40px;height:40px;display:flex;justify-content:center;align-items:center;cursor:pointer;transition:background-color .2s ease-in-out}.fullscreen-close:hover{background-color:rgba(0,0,0,.7)}.edit-button{margin-left:.5rem;--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.edit-button:hover{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity))}.edit-input{width:100%;border-radius:.25rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity));--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity));padding:.5rem .75rem;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity));color:#fff}.edit-input:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity))}.cancel-edit-button,.save-edit-button{border-radius:.25rem;padding:.25rem .75rem;font-size:.875rem;line-height:1.25rem;font-weight:500;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.save-edit-button{margin-left:.5rem;--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity));color:#fff}.save-edit-button:hover{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity))}.cancel-edit-button{margin-left:.5rem;--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity));color:#fff}.cancel-edit-button:hover{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity))}.button-name-container{display:flex;align-items:center;justify-content:center;margin-bottom:1rem}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideOut{0%{transform:translateY(0);opacity:1}to{transform:translateY(20px);opacity:0}}.intro-modal{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.8);backdrop-filter:blur(10px)}.intro-modal-content{position:relative;margin-left:1rem;margin-right:1rem;width:100%;max-width:48rem;background:linear-gradient(145deg,rgba(29,32,43,.95),rgba(16,18,27,.95));border-radius:24px;box-shadow:0 25px 50px -12px rgba(0,0,0,.5);overflow:hidden}.intro-content{padding:3rem}.intro-header{margin-bottom:3rem;text-align:center}.intro-title{font-size:2.25rem;line-height:2.5rem;font-weight:700;margin-bottom:1rem;background:linear-gradient(90deg,#fff,#a8b2d1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:.1em}.intro-subtitle{line-height:1.625;color:hsla(0,0%,100%,.8);font-size:1.125rem;line-height:1.75rem}.intro-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.intro-card{display:flex;align-items:flex-start;gap:1rem;border-radius:.75rem;padding:1.5rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;background:hsla(0,0%,100%,.03);border:1px solid hsla(0,0%,100%,.05)}.intro-card:hover{background:hsla(0,0%,100%,.06);transform:translateY(-2px);border-color:hsla(0,0%,100%,.1)}.intro-emoji{flex-shrink:0;font-size:1.5rem;line-height:2rem}.intro-card p{line-height:1.625;color:hsla(0,0%,100%,.7)}.intro-modal{animation:modalFade .3s ease-out}.intro-modal.closing{animation:modalFadeOut .3s ease-out forwards}.intro-modal-content{animation:modalSlide .3s ease-out}.intro-modal-content.closing{animation:modalSlideOut .3s ease-out forwards}@keyframes modalFade{0%{opacity:0}to{opacity:1}}@keyframes modalFadeOut{0%{opacity:1}to{opacity:0}}@keyframes modalSlide{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes modalSlideOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}.button-modal-animation{animation:modalOpen .3s ease-out;transform-origin:top}@keyframes modalOpen{0%{opacity:0;transform:scale(.8) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-overlay.closing .button-modal-animation{animation:modalClose .3s ease-in}@keyframes modalClose{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.8) translateY(-20px)}}.login-actions{display:flex;justify-content:space-between;margin-top:20px}.cancel-button,.login-button{padding:10px 20px;border-radius:5px;font-weight:700;transition:background-color .3s ease}.login-button{background-color:#4a90e2;color:#fff}.login-button:hover{background-color:#357abd}.cancel-button{background-color:#e74c3c;color:#fff}.cancel-button:hover{background-color:#c0392b}.modal-content{padding:30px}.modal-title{margin-bottom:20px}.input-field{margin-bottom:15px}button{cursor:pointer}.input-field,.modal-content,.modal-title{color:#fff}.contact-modal-overlay{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.8);backdrop-filter:blur(10px)}.contact-modal-content{position:relative;margin-left:1rem;margin-right:1rem;width:100%;max-width:28rem;padding:2rem;background:linear-gradient(145deg,rgba(29,32,43,.95),rgba(16,18,27,.95));border-radius:24px;box-shadow:0 25px 50px -12px rgba(0,0,0,.5);border:1px solid hsla(0,0%,100%,.05)}.contact-modal-close{position:absolute;top:1rem;right:1rem;color:hsla(0,0%,100%,.6);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.contact-modal-close:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.contact-modal-title{margin-bottom:1.5rem;background-image:linear-gradient(to right,var(--tw-gradient-stops));--tw-gradient-from:#fff var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);--tw-gradient-to:rgba(216,180,254,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#d8b4fe var(--tw-gradient-via-position),var(--tw-gradient-to);--tw-gradient-to:#93c5fd var(--tw-gradient-to-position);background-clip:text;font-size:1.5rem;line-height:2rem;color:transparent;font-weight:700}.contact-modal-input,.contact-modal-textarea{width:100%;border-radius:.75rem;border-width:1px;border-color:hsla(0,0%,100%,.1);background-color:rgba(31,41,55,.5);padding:1rem;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;color:#fff;margin-bottom:1rem}.contact-modal-input:focus,.contact-modal-textarea:focus{border-color:rgba(168,85,247,.5);--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-color:rgba(168,85,247,.2)}.contact-modal-input,.contact-modal-textarea{backdrop-filter:blur(10px)}.contact-modal-textarea{min-height:120px;resize:none}.contact-modal-submit{width:100%;border-radius:.75rem;background-image:linear-gradient(to right,var(--tw-gradient-stops));--tw-gradient-from:#a855f7 var(--tw-gradient-from-position);--tw-gradient-to:rgba(168,85,247,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);--tw-gradient-to:#3b82f6 var(--tw-gradient-to-position);padding:.75rem 1.5rem;font-weight:500;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;color:#fff}.contact-modal-submit,.contact-modal-submit: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))}.contact-modal-submit:hover{--tw-translate-y:-0.125rem;--tw-gradient-from:#9333ea var(--tw-gradient-from-position);--tw-gradient-to:rgba(147,51,234,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);--tw-gradient-to:#2563eb var(--tw-gradient-to-position);--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);--tw-shadow-color:rgba(168,85,247,.25);--tw-shadow:var(--tw-shadow-colored)}.bg-container{position:relative;width:100%;height:100vh;overflow:hidden}.bg-image{object-fit:cover;z-index:-1}.bg-image,.bg-overlay{position:absolute;top:0;left:0;width:100%;height:100%}.bg-overlay{background:linear-gradient(180deg,rgba(0,0,0,.7),rgba(0,0,0,.9));backdrop-filter:blur(10px);z-index:1}.move-button{background-color:#4a5568;color:#fff;border:none;border-radius:3px;padding:2px;cursor:pointer;transition:background-color .3s ease}.move-button:hover{background-color:#2d3748}.move-button:disabled{background-color:#718096}.portfolio-item{position:relative}.portfolio-item:hover .delete-button,.portfolio-item:hover .move-button{opacity:1}.delete-button,.move-button{background-color:rgba(74,85,104,.8);color:#fff;border:none;border-radius:3px;padding:4px;cursor:pointer;transition:background-color .3s ease,opacity .2s ease;opacity:0;z-index:10}.delete-button:hover,.move-button:hover{background-color:rgba(45,55,72,.8)}.move-button:disabled{background-color:rgba(113,128,150,.8);cursor:not-allowed}.portfolio-image-container{position:relative;z-index:1}.nav-button{position:relative;transition:all .3s ease;border:1px solid hsla(0,0%,100%,.1);border-radius:4px}.nav-button:hover{border-color:hsla(0,0%,100%,.3)}.canvas-container{width:300px;height:300px;position:relative}.glass-panel{margin-left:auto;margin-right:auto;border-radius:1rem;padding:2rem;--tw-backdrop-blur:blur(16px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);background:hsla(0,0%,100%,.03);border:1px solid hsla(0,0%,100%,.05);box-shadow:0 25px 50px -12px rgba(0,0,0,.25),0 0 0 1px hsla(0,0%,100%,.1);max-width:fit-content}.glass-panel:hover{background:hsla(0,0%,100%,.15);border-color:hsla(0,0%,100%,.3)}.nav-container{display:flex;gap:3rem;margin:2rem auto 0;justify-content:center}.nav-link{position:relative;overflow:hidden;background:hsla(0,0%,100%,.03);backdrop-filter:blur(10px);border:1px solid hsla(0,0%,100%,.1);border-radius:8px;transition:all .3s ease}.nav-link:hover{background:hsla(0,0%,100%,.08);border-color:hsla(0,0%,100%,.2);transform:translateY(-2px)}.nav-link:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background:#fff;transition:width .3s ease}.nav-link:hover:after{width:100%}.footer-links{display:flex;gap:2rem;opacity:.7;transition:opacity .3s ease}.footer-links:hover{opacity:1}.logo{width:80px;height:80px;margin-bottom:2rem}.subtitle{color:hsla(0,0%,100%,.7);letter-spacing:.1em;font-size:.9rem}.bg-overlay{background:linear-gradient(180deg,rgba(0,0,0,.4),rgba(0,0,0,.7))}.canvas-wrapper{overflow:hidden!important;margin:0 auto!important}.canvas-wrapper,canvas{width:300px!important;height:300px!important;max-width:300px!important;max-height:300px!important}.bg-gradient-animate{background-size:400% 400%;animation:gradient 15s ease infinite;background:radial-gradient(circle at 0 0,rgba(147,51,234,.1),transparent 50%),radial-gradient(circle at 100% 0,rgba(79,70,229,.1),transparent 50%),radial-gradient(circle at 100% 100%,rgba(236,72,153,.1),transparent 50%),radial-gradient(circle at 0 100%,rgba(34,211,238,.1),transparent 50%)}@keyframes gradient{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.bg-grid{background-image:linear-gradient(hsla(0,0%,100%,.02) 1px,transparent 0),linear-gradient(90deg,hsla(0,0%,100%,.02) 1px,transparent 0);background-size:30px 30px}.admin-controls{margin-bottom:2rem}.admin-controls>: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))}.admin-controls{border-radius:.75rem;padding:1.5rem;background:hsla(0,0%,100%,.03);border:1px solid hsla(0,0%,100%,.05)}.action-button{display:flex;align-items:center;justify-content:center;border-radius:.75rem;padding:.75rem 1.5rem;font-weight:500;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;color:#fff;background:linear-gradient(90deg,#4f46e5,#7c3aed)}.action-button:hover{--tw-translate-y:-0.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 rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);--tw-shadow-color:rgba(99,102,241,.25);--tw-shadow:var(--tw-shadow-colored);background:linear-gradient(90deg,#4338ca,#6d28d9)}.button-wrapper{position:relative;display:inline-block}.auth-button{border-radius:.5rem;padding:.5rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;background:hsla(0,0%,100%,.05)}.auth-button:hover{background:hsla(0,0%,100%,.1)}.empty-state{padding-top:2rem;padding-bottom:2rem;text-align:center;color:hsla(0,0%,100%,.5)}.add-portfolio-button{border-radius:.75rem;padding:.75rem 1.5rem;background:linear-gradient(90deg,#6366f1,#ec4899);font-weight:500;transition:all .3s ease}.add-portfolio-button,.save-text-button{display:flex;width:100%;align-items:center;justify-content:center;gap:.5rem;color:#fff}.save-text-button{margin-top:.5rem;border-radius:.5rem;padding:.5rem 1rem;background-color:#111827;border:1px solid hsla(0,0%,100%,.1);font-weight:400;font-size:.875rem;transition:all .2s ease}.save-text-button:hover{border-color:hsla(0,0%,100%,.2);background-color:rgba(31,41,55,.5)}.input-field{width:100%;border-radius:.5rem;padding:.75rem 1rem;margin-bottom:1rem;background-color:#111827;border:1px solid hsla(0,0%,100%,.1);color:#fff;transition:all .2s ease}.input-field:focus{border-color:hsla(0,0%,100%,.2);outline:none}html{-webkit-text-size-adjust:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;width:100%}body,html{touch-action:none;-ms-touch-action:none;overflow:hidden;position:fixed;width:100%;height:100%}*{-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}*,.canvas-wrapper{-webkit-touch-callout:none}.canvas-wrapper{touch-action:none;-webkit-tap-highlight-color:transparent}footer{position:fixed;bottom:0;left:0;right:0;width:100%}.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\.02\]: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))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.hover\:text-white\/90:hover{color:hsla(0,0%,100%,.9)}.group:hover .group-hover\:w-full{width:100%}.group:hover .group-hover\:bg-white\/10{background-color:hsla(0,0%,100%,.1)}.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: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_d65c78;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/55c55f0601d81cf3-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_d65c78;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/26a46d62cd723877-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Inter_d65c78;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/97e0cb1ae144a2a9-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Inter_d65c78;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/581909926a08bbc8-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_d65c78;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_d65c78;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/6d93bde91c0c2823-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_d65c78;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/a34f9d1faa5f3315-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_d65c78;src:local("Arial");ascent-override:90.49%;descent-override:22.56%;line-gap-override:0.00%;size-adjust:107.06%}.__className_d65c78{font-family:__Inter_d65c78,__Inter_Fallback_d65c78;font-style:normal}