@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:100 900;src:url(https://cdn.jsdelivr.net/fontsource/fonts/geist:vf@latest/latin-wght-normal.woff2) format("woff2-variations")}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:100 900;src:url(https://cdn.jsdelivr.net/fontsource/fonts/geist-mono:vf@latest/latin-wght-normal.woff2) format("woff2-variations")}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Geist,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:Geist Mono,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.terminal-window{border-radius:.5rem;border-width:1px;border-color:#15803d80;background-color:#000000f2;--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);box-shadow:0 0 0 1px #33ff330f,0 0 40px #33ff331a,0 24px 64px #000000b3,inset 0 1px #33ff3314;transform:scale(.92) translateY(24px);opacity:0;transition:transform .38s cubic-bezier(.34,1.56,.64,1),opacity .3s ease;animation:crt-flicker 8s linear infinite;will-change:transform,opacity}.terminal-window.terminal-window-visible{transform:scale(1) translateY(0);opacity:1}.terminal-window.terminal-maximized{position:fixed!important;top:1rem!important;right:1rem!important;bottom:1rem!important;left:1rem!important;max-width:none!important;width:auto!important;border-radius:.5rem}.terminal-header{display:flex;-webkit-user-select:none;-moz-user-select:none;user-select:none;align-items:center;gap:.5rem;border-bottom-width:1px;border-color:#15803d4d;padding:.5rem .75rem;background:linear-gradient(to bottom,rgba(51,255,51,.04),rgba(51,255,51,.01));border-radius:.5rem .5rem 0 0;cursor:grab}.terminal-header:active{cursor:grabbing}.terminal-button{height:.75rem;width:.75rem;flex-shrink:0;border-radius:9999px;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;box-shadow:inset 0 -1px 2px #0006}.terminal-button:hover{transform:scale(1.25);filter:brightness(1.2)}.terminal-output{padding:.75rem 1rem;height:22rem;overflow-y:auto;overflow-x:hidden;color:#c8ffc8d9;font-family:Geist Mono,Fira Code,monospace;font-size:.78rem;line-height:1.55;background:rgba(0,0,0,.97);background-image:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(51,255,51,.012) 2px,rgba(51,255,51,.012) 4px);scrollbar-width:thin;scrollbar-color:rgba(51,255,51,.25) transparent}.terminal-output::-webkit-scrollbar{width:4px}.terminal-output::-webkit-scrollbar-track{background:transparent}.terminal-output::-webkit-scrollbar-thumb{background:rgba(51,255,51,.2);border-radius:2px}.terminal-form{display:flex;align-items:center;border-top-width:1px;border-color:#15803d40;background:rgba(0,0,0,.94);border-radius:0 0 .5rem .5rem}.terminal-input{flex:1 1 0%;border-style:none;padding:.75rem .5rem}.terminal-input:focus{outline:2px solid transparent;outline-offset:2px}.terminal-input{font-family:Geist Mono,monospace;font-size:.8rem;background:transparent;color:var(--terminal-green);caret-color:var(--terminal-green);caret-shape:block}.terminal-input:disabled{opacity:.4;cursor:not-allowed}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.bottom-0{bottom:0}.bottom-16{bottom:4rem}.left-0{left:0}.left-4{left:1rem}.right-2{right:.5rem}.top-0{top:0}.top-14{top:3.5rem}.z-10{z-index:10}.z-50{z-index:50}.m-0{margin:0}.mx-auto{margin-left:auto;margin-right:auto}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mr-2{margin-right:.5rem}.mt-10{margin-top:2.5rem}.mt-14{margin-top:3.5rem}.mt-2{margin-top:.5rem}.mt-20{margin-top:5rem}.mt-24{margin-top:6rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-12{height:3rem}.h-2{height:.5rem}.h-20{height:5rem}.h-4{height:1rem}.h-\[60vh\]{height:60vh}.h-auto{height:auto}.h-full{height:100%}.min-h-screen{min-height:100vh}.w-12{width:3rem}.w-32{width:8rem}.w-4{width:1rem}.w-full{width:100%}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-\[85\%\]{max-width:85%}.max-w-lg{max-width:32rem}.max-w-xl{max-width:36rem}.-translate-x-2{--tw-translate-x: -.5rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-95{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes blink{50%{opacity:0}}.animate-blink{animation:blink 1s step-end infinite}@keyframes typing{0%{width:0}to{width:100%}}.animate-typing{animation:typing 3s steps(20) infinite}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.list-disc{list-style-type:disc}.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-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.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-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-sm{border-radius:.125rem}.border{border-width:1px}.border-l-2{border-left-width:2px}.border-r-2{border-right-width:2px}.border-t{border-top-width:1px}.border-\[--ctp-mocha-subtext0\]{border-color:var(--ctp-mocha-subtext0)}.border-green-400{--tw-border-opacity: 1;border-color:rgb(74 222 128 / var(--tw-border-opacity, 1))}.border-green-400\/50{border-color:#4ade8080}.border-green-500\/30{border-color:#22c55e4d}.border-green-700\/30{border-color:#15803d4d}.border-green-700\/50{border-color:#15803d80}.border-pink-400\/40{border-color:#f472b666}.bg-\[\#89b4fa\]{--tw-bg-opacity: 1;background-color:rgb(137 180 250 / var(--tw-bg-opacity, 1))}.bg-\[\#a6e3a1\]{--tw-bg-opacity: 1;background-color:rgb(166 227 161 / var(--tw-bg-opacity, 1))}.bg-\[\#cba6f7\]{--tw-bg-opacity: 1;background-color:rgb(203 166 247 / var(--tw-bg-opacity, 1))}.bg-\[\#f38ba8\]{--tw-bg-opacity: 1;background-color:rgb(243 139 168 / var(--tw-bg-opacity, 1))}.bg-\[\#f5c2e7\]{--tw-bg-opacity: 1;background-color:rgb(245 194 231 / var(--tw-bg-opacity, 1))}.bg-\[\#f9e2af\]{--tw-bg-opacity: 1;background-color:rgb(249 226 175 / var(--tw-bg-opacity, 1))}.bg-\[\#fab387\]{--tw-bg-opacity: 1;background-color:rgb(250 179 135 / var(--tw-bg-opacity, 1))}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))}.bg-black\/20{background-color:#0003}.bg-black\/30{background-color:#0000004d}.bg-black\/40{background-color:#0006}.bg-black\/50{background-color:#00000080}.bg-black\/70{background-color:#000000b3}.bg-black\/80{background-color:#000c}.bg-black\/90{background-color:#000000e6}.bg-green-400{--tw-bg-opacity: 1;background-color:rgb(74 222 128 / var(--tw-bg-opacity, 1))}.bg-pink-500\/20{background-color:#ec489933}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.bg-yellow-400{--tw-bg-opacity: 1;background-color:rgb(250 204 21 / var(--tw-bg-opacity, 1))}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pb-20{padding-bottom:5rem}.pb-24{padding-bottom:6rem}.pb-32{padding-bottom:8rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pl-5{padding-left:1.25rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.pt-2{padding-top:.5rem}.pt-24{padding-top:6rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:Geist Mono,monospace}.font-sans{font-family:Geist,system-ui,sans-serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.leading-none{line-height:1}.text-\[--ctp-mocha-blue\]{color:var(--ctp-mocha-blue)}.text-\[--ctp-mocha-lavender\]{color:var(--ctp-mocha-lavender)}.text-\[--ctp-mocha-peach\]{color:var(--ctp-mocha-peach)}.text-\[--ctp-mocha-subtext0\]{color:var(--ctp-mocha-subtext0)}.text-\[--ctp-mocha-teal\]{color:var(--ctp-mocha-teal)}.text-\[--ctp-mocha-yellow\]{color:var(--ctp-mocha-yellow)}.text-\[var\(--ctp-mocha-green\)\]{color:var(--ctp-mocha-green)}.text-\[var\(--ctp-mocha-subtext0\)\]{color:var(--ctp-mocha-subtext0)}.text-\[var\(--terminal-green\)\]{color:var(--terminal-green)}.text-gray-200{--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity, 1))}.text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-green-300{--tw-text-opacity: 1;color:rgb(134 239 172 / var(--tw-text-opacity, 1))}.text-green-400{--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity, 1))}.text-green-700{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity, 1))}.text-pink-300{--tw-text-opacity: 1;color:rgb(249 168 212 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-20{opacity:.2}.opacity-40{opacity:.4}.opacity-60{opacity:.6}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--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)}.outline{outline-style:solid}.ring-4{--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(4px + 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)}.ring-green-400{--tw-ring-opacity: 1;--tw-ring-color: rgb(74 222 128 / var(--tw-ring-opacity, 1))}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-\[0_0_4px_var\(--ctp-mocha-mauve\)\]{--tw-drop-shadow: drop-shadow(0 0 4px var(--ctp-mocha-mauve));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-md{--tw-backdrop-blur: blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}:root{font-family:Geist,system-ui,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#ffffffde;background:linear-gradient(180deg,#0a0a0a 0%,#050505 50%,#0a0a0a 100%);background-attachment:fixed;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--terminal-green: #33FF33;--ctp-mocha-rosewater: #f5e0dc;--ctp-mocha-flamingo: #f2cdcd;--ctp-mocha-pink: #f5c2e7;--ctp-mocha-mauve: #cba6f7;--ctp-mocha-red: #f38ba8;--ctp-mocha-maroon: #eba0ac;--ctp-mocha-peach: #fab387;--ctp-mocha-yellow: #f9e2af;--ctp-mocha-green: #a6e3a1;--ctp-mocha-teal: #94e2d5;--ctp-mocha-blue: #89b4fa;--ctp-mocha-sapphire: #74c7ec;--ctp-mocha-lavender: #b4befe;--ctp-mocha-text: #cdd6f4;--ctp-mocha-subtext0: #a6adc8;--ctp-mocha-surface1: #313244;--ctp-mocha-surface2: #45475a}*{cursor:url(/assets/cursor-default-c9dd6179.svg) 6 2,default}a,button,[role=button],input[type=submit],.skill-panel,.journey-nav,.timeline-node,.tech-tag{cursor:url(/assets/cursor-pointer-e3152b9c.svg) 6 2,pointer}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh;padding:0 1rem;font-family:Geist,system-ui,sans-serif}a{font-weight:500;color:var(--terminal-green);text-decoration:none}a:hover{color:#0f9;text-shadow:0 0 5px #00ff99}#glow-headline{position:relative;text-transform:uppercase;letter-spacing:2px;font-family:Geist Mono,monospace;display:inline-flex}#footer-marquee{-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}.footer-ticker-container{position:relative;width:100%;overflow:hidden;padding-right:20px}#footer-ticker{display:flex;align-items:center;will-change:transform}.ticker-item{display:inline-flex;align-items:center;padding:0 1rem;color:var(--terminal-green);font-size:1rem;text-shadow:0 0 8px rgba(51,255,51,.6);transition:all .3s ease}.ticker-item:hover{color:#fff;text-shadow:0 0 12px rgba(51,255,51,.9),0 0 20px rgba(51,255,51,.6);transform:translateY(-2px)}.ticker-divider{color:#33ff3380;margin:0 .5rem;font-size:.8rem}a.ticker-item{text-decoration:none;position:relative}.ticker-translation{font-size:.85em;opacity:.8;margin-left:.4rem;color:#ffffffb3;font-style:italic;transition:all .3s ease}.ticker-item:hover .ticker-translation{opacity:1;color:#3f3}a.ticker-item:after{content:"";position:absolute;bottom:-4px;left:50%;width:0;height:1px;background:#33ff33;transition:all .3s ease;transform:translate(-50%)}a.ticker-item:hover:after{width:80%}@keyframes footer-scan{0%{transform:translateY(-10px)}to{transform:translateY(40px)}}#glow-headline span{font-family:Geist Mono,monospace;display:inline-block}#ascii-art{text-shadow:0 0 8px #33ff33,0 0 16px #33ff33;filter:brightness(1.1)}#glow-headline:after{content:attr(data-text);position:absolute;top:0;left:0;color:#0f9;opacity:0;transform:translate(2px,2px);z-index:-1;font-family:Geist Mono,monospace}.glow-nav{text-shadow:0 0 5px #33FF33,0 0 10px #33FF33;font-family:Geist Mono,monospace}.blinking-cursor:after{content:"█";animation:blink 1s steps(2,start) infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.headline-path{filter:drop-shadow(0 0 8px #33FF33) drop-shadow(0 0 1px #33FF33)}.dot{position:absolute;background-color:#0ae448;width:1.2vw;height:1.2vw;border-radius:50%;pointer-events:none;z-index:9999;will-change:transform,opacity}.glow-3d{color:var(--terminal-green);text-shadow:0 0 10px #33FF33,0 0 20px #33FF33,0 0 30px #33FF33;animation:wobbleGlow 2.5s cubic-bezier(.4,2,.6,1) infinite alternate;font-family:Geist,system-ui,sans-serif}@keyframes wobbleGlow{0%{text-shadow:0 0 10px #33FF33,0 0 20px #33FF33,0 0 30px #33FF33;transform:rotateY(-10deg) skew(-5deg) scale(1);filter:brightness(1.1)}50%{text-shadow:0 0 20px #33FF33,0 0 40px #33FF33,0 0 60px #33FF33;transform:rotateY(10deg) skew(5deg) scale(1.02);filter:brightness(1.3)}to{text-shadow:0 0 10px #33FF33,0 0 20px #33FF33,0 0 30px #33FF33;transform:rotateY(-10deg) skew(-5deg) scale(1);filter:brightness(1.1)}}.animate-blink{animation:textBlink 1.5s steps(2,start) infinite}.quote-terminal-text{margin:0;min-height:4.4rem;color:#e5e7ebe6;font-size:.98rem;line-height:1.6;text-shadow:0 0 6px rgba(51,255,51,.06)}.quote-terminal-text strong{color:#fff;font-weight:700;text-shadow:0 0 8px rgba(51,255,51,.18)}.quote-terminal-text em{color:#97ff97f2;font-style:italic}.quote-terminal-text:after{content:"█";color:#33ff33f2;margin-left:.2rem;animation:quote-cursor-blink 1s steps(2,start) infinite}@keyframes quote-cursor-blink{0%,to{opacity:1}50%{opacity:0}}@keyframes textBlink{0%,to{opacity:1}50%{opacity:.5}}@keyframes crt-flicker{0%,to{opacity:1}92%{opacity:1}93%{opacity:.94}94%{opacity:1}96%{opacity:.97}97%{opacity:1}}@keyframes termline-in{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}@keyframes ac-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.term-line{animation:termline-in .12s ease-out both;white-space:pre-wrap;word-break:break-all;min-height:1.1rem}.term-line a{color:var(--terminal-green);text-decoration:underline;text-underline-offset:2px}.term-line a:hover{opacity:.8;text-shadow:0 0 6px var(--terminal-green)}.term-prompt-echo{color:var(--terminal-green);opacity:.5}.term-cmd-echo{color:var(--terminal-green)}.term-ok{color:#a6e3a1}.term-error{color:#f38ba8}.term-warn{color:#f9e2af}.term-dim{color:#b4dcb473}.term-accent{color:var(--terminal-green);font-weight:600}.term-header{color:var(--terminal-green);font-weight:700;letter-spacing:.06em;opacity:.9}.term-dir{color:#89b4fa}.term-file{color:#c8ffc8d9}.term-hidden{color:#b4dcb459}.term-progress{color:var(--terminal-green);font-variant-numeric:tabular-nums}.term-link{color:var(--terminal-green);text-decoration:underline;text-underline-offset:2px;cursor:pointer}.term-link:hover{opacity:.8}.term-neofetch-logo{color:#89b4fa;text-shadow:0 0 8px rgba(137,180,250,.4);white-space:pre}.term-neofetch-key{color:#b4dcb480}.term-banner{color:var(--terminal-green);text-shadow:0 0 8px rgba(51,255,51,.4);letter-spacing:.02em}.term-matrix-head{color:#fff;text-shadow:0 0 8px #33ff33,0 0 16px #33ff33;font-weight:700}.term-matrix-bright{color:#3f3;text-shadow:0 0 6px rgba(51,255,51,.6)}.term-matrix-dim{color:#3f36}.term-pal-rosewater{background:#f5e0dc;color:#f5e0dc;border-radius:2px}.term-pal-flamingo{background:#f2cdcd;color:#f2cdcd;border-radius:2px}.term-pal-pink{background:#f5c2e7;color:#f5c2e7;border-radius:2px}.term-pal-mauve{background:#cba6f7;color:#cba6f7;border-radius:2px}.term-pal-red{background:#f38ba8;color:#f38ba8;border-radius:2px}.term-pal-peach{background:#fab387;color:#fab387;border-radius:2px}.term-pal-yellow{background:#f9e2af;color:#f9e2af;border-radius:2px}.term-pal-green{background:#a6e3a1;color:#a6e3a1;border-radius:2px}.term-pal-teal{background:#94e2d5;color:#94e2d5;border-radius:2px}.term-pal-blue{background:#89b4fa;color:#89b4fa;border-radius:2px}.term-pal-sapphire{background:#74c7ec;color:#74c7ec;border-radius:2px}.term-pal-lavender{background:#b4befe;color:#b4befe;border-radius:2px}.terminal-autocomplete{position:relative;border-top:1px solid rgba(51,255,51,.12);background:rgba(0,0,0,.97);max-height:10rem;overflow-y:auto;animation:ac-in .1s ease-out;scrollbar-width:none}.terminal-ac-item{display:flex;align-items:baseline;gap:.75rem;padding:.3rem 1rem;font-family:Geist Mono,monospace;font-size:.75rem;cursor:pointer;transition:background .1s}.terminal-ac-item:hover,.terminal-ac-item.active{background:rgba(51,255,51,.08)}.terminal-ac-cmd{color:var(--terminal-green);min-width:7rem}.terminal-ac-desc{color:#b4dcb466;font-size:.7rem}#terminal-overlay{opacity:0;transition:opacity .28s ease}#terminal-overlay.terminal-visible{opacity:1}#terminal-tab .text-xl{transition:font-size .3s ease-in-out,opacity .3s ease-in-out;opacity:1!important}#terminal-text{position:absolute;right:.8rem;top:50%;opacity:0;pointer-events:none}#terminal-tab:hover #terminal-text{opacity:1;pointer-events:auto;animation:slideInFromRight .5s ease forwards}@keyframes slideInFromRight{0%{transform:translate(100%,-50%);opacity:0}to{transform:translateY(-50%);opacity:1}}@media (max-width: 640px){#terminal-window{margin:.5rem!important;max-width:calc(100vw - 1rem)!important;width:calc(100vw - 1rem)!important;position:relative!important;left:auto!important;top:auto!important}.terminal-output{height:52vmax;font-size:.72rem}.terminal-input{font-size:.75rem}#terminal-shortcut-hint{display:none!important}.terminal-autocomplete{max-height:7rem}.terminal-ac-item{padding:.35rem .75rem}.terminal-ac-desc{display:none}.term-line{font-size:.72rem;line-height:1.45}}[data-theme=amber] .term-accent,[data-theme=amber] .terminal-ac-cmd,[data-theme=amber] .term-banner{color:#ffb000}[data-theme=amber] .terminal-output,[data-theme=amber] .terminal-input{color:#ffdc64d9}[data-theme=amber] .terminal-output{background-image:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(255,176,0,.012) 2px,rgba(255,176,0,.012) 4px)}[data-theme=cyan] .term-accent,[data-theme=cyan] .terminal-ac-cmd,[data-theme=cyan] .term-banner{color:#00e5ff}[data-theme=cyan] .terminal-output,[data-theme=cyan] .terminal-input{color:#96f0ffd9}[data-theme=cyan] .terminal-output{background-image:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,229,255,.012) 2px,rgba(0,229,255,.012) 4px)}[data-theme=pink] .term-accent,[data-theme=pink] .terminal-ac-cmd,[data-theme=pink] .term-banner{color:#f5c2e7}[data-theme=pink] .terminal-output,[data-theme=pink] .terminal-input{color:#f5c2e7d9}[data-theme=pink] .terminal-output{background-image:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(245,194,231,.012) 2px,rgba(245,194,231,.012) 4px)}nav{position:fixed;top:0;left:0;width:100%;padding:.5rem;background:rgba(0,0,0,.7);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:50;font-family:Geist,system-ui,sans-serif}#menu{color:var(--terminal-green)}body.menu-open{overflow:hidden}@media (max-width: 767px){.mobile-menu{position:fixed!important;right:0!important;bottom:0!important;width:100vw!important;height:100vh!important;top:0!important;left:0!important;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;background:rgba(0,0,0,.96);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);z-index:100;clip-path:circle(0% at calc(100% - 2.5rem) 1.5rem);pointer-events:none;transition:clip-path .55s cubic-bezier(.65,0,.35,1)}.mobile-menu.open{clip-path:circle(150% at calc(100% - 2.5rem) 1.5rem);pointer-events:auto}.mobile-menu:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(51,255,51,.025) 3px,rgba(51,255,51,.025) 6px);pointer-events:none;z-index:0;animation:scanline-scroll 8s linear infinite}@keyframes scanline-scroll{0%{background-position:0 0}to{background-position:0 100vh}}.mobile-menu:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at center,transparent 50%,rgba(0,0,0,.6) 100%);pointer-events:none;z-index:0}.mobile-menu li{position:relative;z-index:1;opacity:0;transform:translateY(24px) scale(.95);transition:opacity .35s cubic-bezier(.4,0,.2,1),transform .35s cubic-bezier(.4,0,.2,1);padding:0!important}.mobile-menu.open li{opacity:1;transform:translateY(0) scale(1)}.mobile-menu.open li:nth-child(1){transition-delay:.12s}.mobile-menu.open li:nth-child(2){transition-delay:.19s}.mobile-menu.open li:nth-child(3){transition-delay:.26s}.mobile-menu.open li:nth-child(4){transition-delay:.33s}.mobile-menu.open li:nth-child(5){transition-delay:.4s}.mobile-menu:not(.open) li{transition-delay:0s}.mobile-menu li a{font-family:Geist Mono,monospace;font-size:1.5rem;letter-spacing:.08em;text-transform:lowercase;color:#33ff3380;padding:.6rem 2rem;display:block;position:relative;transition:color .25s ease,text-shadow .25s ease,transform .25s ease;text-decoration:none!important;font-weight:400!important}.mobile-menu li a:before{content:"> ";color:#33ff3340;transition:color .25s ease}.mobile-menu li a:after{content:"_";opacity:0;color:var(--terminal-green);animation:none;transition:opacity .15s ease;margin-left:2px}.mobile-menu li a:hover,.mobile-menu li a:active{color:#3f3;text-shadow:0 0 8px rgba(51,255,51,.6),0 0 30px rgba(51,255,51,.2),0 0 60px rgba(51,255,51,.1);transform:translate(6px)}.mobile-menu li a:hover:before{color:#33ff33b3}.mobile-menu li a:hover:after{opacity:1;animation:blink-cursor .8s step-end infinite}@keyframes blink-cursor{0%,to{opacity:1}50%{opacity:0}}}@media (min-width: 768px){#menu,.mobile-menu{display:flex;flex-direction:row;position:static!important;width:auto!important;height:auto!important;background:transparent!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;box-shadow:none!important;clip-path:none!important;opacity:1!important;transform:none!important;pointer-events:auto!important;inset:unset!important}.mobile-menu:before,.mobile-menu:after{display:none!important}.mobile-menu li{opacity:1!important;transform:none!important;transition:none!important}.mobile-menu li a{font-size:inherit!important;text-transform:none!important;letter-spacing:normal!important;padding:0!important}.mobile-menu li a:before,.mobile-menu li a:after{display:none!important}}#menu li a{color:var(--terminal-green);transition:color .2s ease}#menu li a:hover{color:#9f9}nav a.text-green-400{font-family:Geist,system-ui,sans-serif;color:var(--terminal-green)}.hamburger{display:flex;flex-direction:column;justify-content:center;gap:5px;width:28px;height:28px;cursor:pointer;min-width:44px;min-height:44px;align-items:center}.hamburger .bar{display:block;width:22px;height:2px;background:var(--terminal-green);border-radius:2px;transition:transform .3s ease,opacity .3s ease;transform-origin:center}.hamburger.open .bar:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger.open .bar:nth-child(2){opacity:0}.hamburger.open .bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.preview-container{overflow:hidden;transition:transform .3s ease,box-shadow .3s ease;transform-style:preserve-3d}.preview-container:hover{transform:scale(1.05);box-shadow:0 0 12px #33ff3380}.project-item{transition:opacity .5s ease,transform .5s ease}.projects-bg{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(180deg,rgba(0,0,0,.8),rgba(51,255,51,.1));z-index:-1}.glass-card{background:rgba(0,10,2,.25);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(51,255,51,.3);border-radius:16px;box-shadow:0 4px 30px #33ff331a;overflow:hidden;transition:all .4s ease}.glass-card:hover{background:rgba(0,10,2,.35);box-shadow:0 8px 40px #3f33;transform:translateY(-4px)}.parallax-container{position:relative;overflow:hidden;border-radius:12px;height:300px}.parallax-bg{position:absolute;top:-20%;left:-20%;width:140%;height:140%;z-index:0;transition:transform .2s ease-out;background-size:cover;background-position:center;background-repeat:no-repeat}.tenor-gif-embed{width:100%;height:100%;display:block;position:relative}.tenor-gif-embed iframe{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block;position:absolute;top:0;left:0;border:none;margin:0;padding:0}.parallax-bg img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block;position:absolute;top:0;left:0}.parallax-content{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding:1.5rem;background:linear-gradient(to top,rgba(0,0,0,.8),transparent)}@media (max-width: 768px){.parallax-container{height:50vh}.tenor-gif-embed iframe,.parallax-bg img{-o-object-fit:cover;object-fit:cover}}#spotify-widget{opacity:1!important;display:block!important;visibility:visible!important;min-width:240px;transition:transform .3s ease,opacity .3s ease}#spotify-widget:hover{transform:translateY(-2px)}.spotify-container{background:rgba(0,0,0,.92);border:1px solid rgba(51,255,51,.15);border-radius:14px;padding:.25rem;box-shadow:0 4px 24px #000000b3,0 0 12px #33ff330f;transition:border-color .3s ease,box-shadow .3s ease}.spotify-container:hover{border-color:#33ff334d;box-shadow:0 4px 28px #000c,0 0 20px #33ff331a}.spotify-inner{position:relative;overflow:hidden;border-radius:12px}.scanline-spotify{position:absolute;top:0;left:0;width:100%;height:1px;background:linear-gradient(90deg,transparent,rgba(51,255,51,.3),transparent);opacity:.4;z-index:2;animation:scanline-spotify 4s ease-in-out infinite}@keyframes scanline-spotify{0%{transform:translateY(0);opacity:0}10%{opacity:.4}90%{opacity:.4}to{transform:translateY(70px);opacity:0}}.album-art-container{position:relative;width:3rem;height:3rem;flex-shrink:0}.album-art-container img{border-radius:8px}.album-glow{position:absolute;top:-4px;left:-4px;width:calc(100% + 8px);height:calc(100% + 8px);background:rgba(51,255,51,.15);filter:blur(10px);opacity:0;z-index:-1;transition:opacity .3s ease}.spotify-container:hover .album-glow{opacity:1}.spotify-info{display:flex;flex-direction:column;gap:.15rem;color:var(--terminal-green);min-width:0}.spotify-eq{display:flex;align-items:flex-end;gap:2px;height:12px;margin-left:auto;padding-left:8px}.spotify-eq .eq-bar{width:3px;background:var(--terminal-green);border-radius:1px;animation:eq-bounce 1s ease-in-out infinite}.spotify-eq .eq-bar:nth-child(1){height:40%;animation-delay:0s}.spotify-eq .eq-bar:nth-child(2){height:70%;animation-delay:.15s}.spotify-eq .eq-bar:nth-child(3){height:50%;animation-delay:.3s}.spotify-eq .eq-bar:nth-child(4){height:80%;animation-delay:.1s}.spotify-eq .eq-bar:nth-child(5){height:30%;animation-delay:.25s}@keyframes eq-bounce{0%,to{transform:scaleY(.3);opacity:.5}50%{transform:scaleY(1);opacity:1}}.glitch-text{color:var(--terminal-green);font-size:.65rem;letter-spacing:2px;text-transform:uppercase;opacity:.7}.glitch-span{position:relative;display:inline-block;color:var(--terminal-green)}.glitch-span:before,.glitch-span:after{content:attr(data-text);position:absolute;top:0;left:0;width:100%;height:100%;opacity:0}.glitch-span:before{color:#f0f;transform:translate(-2px);z-index:-1}.glitch-span:after{color:#0ff;transform:translate(2px);z-index:-2}.spotify-container:hover .glitch-span:before{animation:glitch-before 1s infinite}.spotify-container:hover .glitch-span:after{animation:glitch-after 1.5s infinite}@keyframes glitch-before{0%{transform:translate(-2px);opacity:0}20%{transform:translate(-4px);opacity:.5}40%{transform:translate(-2px);opacity:0}60%{transform:translate(-3px);opacity:.5}80%{transform:translate(-1px);opacity:0}to{transform:translate(-2px);opacity:0}}@keyframes glitch-after{0%{transform:translate(2px);opacity:0}20%{transform:translate(4px);opacity:.5}40%{transform:translate(2px);opacity:0}60%{transform:translate(3px);opacity:.5}80%{transform:translate(1px);opacity:0}to{transform:translate(2px);opacity:0}}.progress-container{width:100%;height:2px;background:rgba(51,255,51,.1);border-radius:2px;margin-top:6px;overflow:hidden}.progress-bar{height:100%;background:var(--terminal-green);width:0%;border-radius:2px;transition:width 1s linear;box-shadow:0 0 4px #3f36}.truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.max-w-\[180px\]{max-width:180px}.matrix-container{opacity:.3;mask-image:linear-gradient(to left,rgba(0,0,0,.8) 30%,transparent 100%);-webkit-mask-image:linear-gradient(to left,rgba(0,0,0,.8) 30%,transparent 100%);overflow:hidden;z-index:1}.blog-link.glow{text-shadow:0 0 12px rgba(51,255,51,1),0 0 24px rgba(51,255,51,.6)}.matrix-column{position:absolute;top:-100%;display:flex;flex-direction:column;will-change:top,opacity;color:#3f3;font-family:monospace;font-size:14px;text-shadow:0 0 2px #33ff33;transform:translateZ(0)}.matrix-char{display:inline-block;opacity:0;transform:translateZ(0);transition:opacity .2s linear}.matrix-char.head{color:#fff;text-shadow:0 0 5px #33ff33,0 0 10px #33ff33;opacity:1}.project-card:hover .matrix-container{opacity:.5}.experience-card{position:relative;background:rgba(0,0,0,.3);border:1px solid rgba(51,255,51,.2);border-radius:8px;padding:16px;transform:translate(30px);transition:all .5s ease}.tech-tag{transition:all .3s ease}.tech-tag:hover{background:rgba(51,255,51,.2);transform:translateY(-2px)}.project-highlight{background:rgba(51,255,51,.05)}.experience-reveal{transform:translateY(20px);opacity:0}.bg-black\/40 pre{overflow-x:hidden;white-space:pre-wrap;word-break:break-word}.hero-section{height:100vh;width:100vw;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;padding-bottom:120px}.hero-bg{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(180deg,rgba(0,0,0,.9),rgba(51,255,51,.2));z-index:-1}.hero-gif{height:auto;width:90%;max-width:100%;border:2px solid rgba(51,255,51,.5);border-radius:8px;-o-object-fit:cover;object-fit:cover;z-index:0;margin-bottom:80px;max-height:60vh}.hero-text{position:absolute;bottom:5%;left:50%;transform:translate(-50%);text-align:center;color:var(--terminal-green);text-shadow:0 0 15px var(--terminal-green),0 0 30px var(--terminal-green);z-index:1;width:100%;max-width:1000px}.large.grid.centered.square-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:3rem;justify-content:center;align-items:center;text-align:center;margin:0 auto}.large.grid.centered.square-grid span{display:inline-block;width:6rem;height:6rem;line-height:6rem;text-align:center;background:rgba(0,0,0,.5);border:1px solid rgba(51,255,51,.3);border-radius:4px;transition:text-shadow .3s ease,transform .3s ease}.large.grid.centered.square-grid span:hover{text-shadow:0 0 20px var(--terminal-green),0 0 40px var(--terminal-green);transform:scale(1.1)}@media (max-width: 768px){.large.grid.centered.square-grid{grid-template-columns:repeat(7,1fr);gap:2rem}.large.grid.centered.square-grid span{width:4rem;height:4rem;line-height:4rem;font-size:2.5rem}.hero-text{bottom:3%}}.glitch{position:relative;display:inline-block}.glitch:before,.glitch:after{content:attr(data-text);position:absolute;top:0;left:0;width:100%;height:100%;clip-path:polygon(0 0,100% 0,100% 20%,0 20%)}.glitch:before{color:#ff0000b3;transform:translate(-3px,-3px)}.glitch:after{color:#00ffffb3;transform:translate(3px,3px)}.console-text{opacity:0;padding-top:2rem}.ascii-art{opacity:0;text-shadow:0 0 8px var(--terminal-green),0 0 16px var(--terminal-green);filter:brightness(1.1);transform-origin:center;will-change:transform,opacity,filter;transition:all .3s ease}.ascii-line{opacity:0;transform:translateY(10px)}.ascii-art:hover{filter:brightness(1.3);text-shadow:0 0 12px var(--terminal-green),0 0 24px var(--terminal-green);transform:scale(1.05)}.text-accent{color:var(--ctp-mocha-mauve)}.tag-accent{background-color:color-mix(in srgb,var(--ctp-mocha-mauve) 15%,transparent);color:var(--ctp-mocha-mauve)}.border-accent{border-color:color-mix(in srgb,var(--ctp-mocha-mauve) 30%,transparent)}.btn-accent{background-color:color-mix(in srgb,var(--ctp-mocha-mauve) 20%,transparent);color:var(--ctp-mocha-mauve)}.btn-secondary{background-color:#1e1e2e4d;color:var(--ctp-mocha-green)}.skill-scan-card{overflow:hidden}.skill-scan-subtitle{color:#33ff334d;font-size:.7rem}.skill-scan-output{font-family:Geist Mono,monospace;font-size:.75rem;line-height:1.5;display:flex;flex-direction:column;gap:.75rem}.skill-scan-group{display:flex;flex-direction:column;gap:.15rem}.skill-scan-label{color:#33ff3359;font-size:.68rem;letter-spacing:.06em;margin-bottom:.2rem}.skill-scan-row{display:flex;align-items:baseline;gap:0;opacity:0;transform:translate(-12px)}.ssc{color:#33ff3359;margin-right:.4rem;flex-shrink:0}.skill-scan-row[data-status=learning] .ssc{color:#f9e2af80}.ssn{color:#c8f0c8d9;flex-shrink:0;min-width:8.5rem}.skill-scan-footer{font-size:.68rem;padding-top:.4rem;border-top:1px solid rgba(51,255,51,.08);opacity:0}.bento-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;width:100%}.bento-card{background:rgba(0,0,0,.4);border:1px solid rgba(51,255,51,.12);border-radius:12px;position:relative;padding:1.25rem;transition:border-color .3s ease,box-shadow .3s ease;overflow:hidden}.bento-card:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:inherit;background:radial-gradient(400px circle at var(--mouse-x, 50%) var(--mouse-y, 50%),rgba(51,255,51,.15),transparent 40%);z-index:-1;opacity:0;transition:opacity .4s ease;pointer-events:none}.bento-card:hover:before{opacity:1}.bento-card:hover{border-color:#33ff334d;box-shadow:0 0 20px #33ff330f,inset 0 0 20px #33ff3305}.bento-cmd{font-family:Geist Mono,Courier New,monospace;font-size:.82rem;font-weight:700;color:#3f3;letter-spacing:.14em;margin-bottom:.9rem;display:block;text-shadow:0 0 6px rgba(51,255,51,.75),0 0 16px rgba(51,255,51,.3);padding-bottom:.5rem;border-bottom:1px solid rgba(51,255,51,.12)}.bento-cmd:before{content:"~/";color:#33ff3361;font-weight:400;text-shadow:none}.bento-cmd:after{content:"▋";animation:terminal-blink 1s step-end infinite;color:#33ff338c;margin-left:2px;font-size:.9em;text-shadow:none}@keyframes terminal-blink{0%,to{opacity:1}50%{opacity:0}}body.about-page{background-image:radial-gradient(rgba(51,255,51,.04) 1px,transparent 1px);background-size:24px 24px}.bento-span-2{grid-column:span 2}.bento-span-full{grid-column:1 / -1}.neofetch-row{display:flex;gap:.35rem;font-size:.8rem;line-height:1.6;font-family:Geist Mono,monospace}.neofetch-label{color:var(--terminal-green);font-weight:600;white-space:nowrap}.neofetch-value{color:#ffffffb3}.tech-group-label{font-size:.7rem;text-transform:uppercase;letter-spacing:1px;color:#33ff3380;margin-bottom:.35rem;font-family:Geist Mono,monospace}@media (max-width: 768px){.bento-grid{grid-template-columns:1fr}.bento-span-2,.bento-span-full{grid-column:1}}@media (max-width: 767px){#spotify-widget{left:.5rem;min-width:200px}.spotify-info .max-w-\[180px\]{max-width:140px}#terminal-tab{right:.25rem;padding:.4rem .6rem;font-size:.75rem}.hamburger{position:relative;z-index:110;touch-action:manipulation;-webkit-tap-highlight-color:rgba(51,255,51,.2)}body,main{overflow-x:hidden}body{padding-bottom:10rem!important}.parallax-container{height:200px!important}.console-text{white-space:pre-wrap!important;word-break:break-word!important;overflow-wrap:break-word!important}.project-card{width:100%;max-width:100%;box-sizing:border-box}.contact-container{width:100%;box-sizing:border-box;overflow-x:hidden}nav{z-index:100}}.hover\:-translate-x-6:hover{--tw-translate-x: -1.5rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:bg-green-300:hover{--tw-bg-opacity: 1;background-color:rgb(134 239 172 / var(--tw-bg-opacity, 1))}.hover\:bg-pink-500\/30:hover{background-color:#ec48994d}.hover\:bg-red-400:hover{--tw-bg-opacity: 1;background-color:rgb(248 113 113 / var(--tw-bg-opacity, 1))}.hover\:bg-yellow-300:hover{--tw-bg-opacity: 1;background-color:rgb(253 224 71 / var(--tw-bg-opacity, 1))}.hover\:text-green-300:hover{--tw-text-opacity: 1;color:rgb(134 239 172 / var(--tw-text-opacity, 1))}.hover\:text-green-400:hover{--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity, 1))}.hover\:text-pink-200:hover{--tw-text-opacity: 1;color:rgb(251 207 232 / var(--tw-text-opacity, 1))}.hover\:opacity-100:hover{opacity:1}.hover\:opacity-90:hover{opacity:.9}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}@media (min-width: 640px){.sm\:max-w-\[60\%\]{max-width:60%}.sm\:text-5xl{font-size:3rem;line-height:1}}@media (min-width: 768px){.md\:static{position:static}.md\:top-auto{top:auto}.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:w-auto{width:auto}.md\:max-w-\[80\%\]{max-width:80%}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1.5rem * var(--tw-space-x-reverse));margin-left:calc(1.5rem * calc(1 - var(--tw-space-x-reverse)))}.md\:bg-transparent{background-color:transparent}.md\:p-8{padding:2rem}.md\:px-0{padding-left:0;padding-right:0}.md\:pt-0{padding-top:0}.md\:text-2xl{font-size:1.5rem;line-height:2rem}.md\:text-3xl{font-size:1.875rem;line-height:2.25rem}.md\:text-7xl{font-size:4.5rem;line-height:1}.md\:text-9xl{font-size:8rem;line-height:1}.md\:text-sm{font-size:.875rem;line-height:1.25rem}.md\:text-xl{font-size:1.25rem;line-height:1.75rem}.md\:shadow-none{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.md\:backdrop-blur-none{--tw-backdrop-blur: ;-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)}}
