@import "https://fonts.googleapis.com/css2?family=VT323&family=Share+Tech+Mono&family=Space+Grotesk:wght@300;400;500;600;700&display=swap";*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}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,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:Share Tech Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family: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:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-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{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}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{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media (width>=640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (width>=768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (width>=1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (width>=1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (width>=1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.-bottom-1{bottom:-.25rem}.-top-2\.5{top:-.625rem}.-top-3{top:-.75rem}.bottom-0{bottom:0}.bottom-6{bottom:1.5rem}.bottom-8{bottom:2rem}.bottom-full{bottom:100%}.left-0{left:0}.left-1\/2{left:50%}.left-4{left:1rem}.right-0{right:0}.right-6{right:1.5rem}.right-8{right:2rem}.top-0{top:0}.top-1\/2{top:50%}.top-24{top:6rem}.top-\[14px\]{top:14px}.top-\[4px\]{top:4px}.top-\[9px\]{top:9px}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-\[1000\]{z-index:1000}.z-\[10\]{z-index:10}.z-\[15\]{z-index:15}.z-\[190\]{z-index:190}.z-\[1\]{z-index:1}.z-\[998\]{z-index:998}.z-\[999\]{z-index:999}.mx-0\.5{margin-left:.125rem;margin-right:.125rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-0\.5{margin-bottom:.125rem}.mb-1\.5{margin-bottom:.375rem}.mb-10{margin-bottom:2.5rem}.mb-14{margin-bottom:3.5rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-20{margin-bottom:5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-0\.5{margin-left:.125rem}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.mt-14{margin-top:3.5rem}.mt-20{margin-top:5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-auto{margin-top:auto}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.\!grid{display:grid!important}.grid{display:grid}.hidden{display:none}.aspect-\[1\.85\/1\]{aspect-ratio:1.85}.h-0\.5{height:.125rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-2{height:.5rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[10px\]{height:10px}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.max-h-full{max-height:100%}.min-h-svh{min-height:100svh}.w-0{width:0}.w-10{width:2.5rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-2{width:.5rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[10px\]{width:10px}.w-\[55\%\]{width:55%}.w-auto{width:auto}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0}.min-w-\[240px\]{min-width:240px}.max-w-2xl{max-width:42rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-\[90vw\]{max-width:90vw}.max-w-full{max-width:100%}.max-w-md{max-width:28rem}.flex-1{flex:1}.shrink-0{flex-shrink:0}.origin-center{transform-origin:50%}.-translate-x-1\/2{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x:-100%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-4{--tw-translate-y:1rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-45{--tw-rotate:45deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-95{--tw-scale-x:.95;--tw-scale-y:.95;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-\[1\.38\]{--tw-scale-x:1.38;--tw-scale-y:1.38;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))}.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))}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.select-none{user-select:none}.select-all{user-select:all}.resize{resize:both}.auto-cols-max{grid-auto-columns:max-content}.grid-flow-col{grid-auto-flow:column}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1\.5{gap:.375rem}.gap-10{gap:2.5rem}.gap-12{gap:3rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-3\.5{gap:.875rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-\[3px\]{gap:3px}.space-y-3>: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))}.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))}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-\[1\.5px\]{border-radius:1.5px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-y{border-top-width:1px;border-bottom-width:1px}.border-b{border-bottom-width:1px}.border-r{border-right-width:1px}.border-green-500\/30{border-color:#22c55e4d}.border-red-500\/30{border-color:#ef44444d}.border-transparent{border-color:#0000}.border-white\/10{border-color:#ffffff1a}.border-white\/15{border-color:#ffffff26}.border-white\/20{border-color:#fff3}.bg-black\/20{background-color:#0003}.bg-black\/40{background-color:#0006}.bg-black\/60{background-color:#0009}.bg-black\/75{background-color:#000000bf}.bg-black\/90{background-color:#000000e6}.bg-current{background-color:currentColor}.bg-green-500\/5{background-color:#22c55e0d}.bg-red-500\/5{background-color:#ef44440d}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/15{background-color:#ffffff26}.bg-white\/20{background-color:#fff3}.bg-white\/5{background-color:#ffffff0d}.bg-white\/\[0\.015\]{background-color:#ffffff04}.bg-white\/\[0\.03\]{background-color:#ffffff08}.bg-white\/\[0\.04\]{background-color:#ffffff0a}.bg-zinc-950\/95{background-color:#09090bf2}.bg-gradient-to-r{background-image:linear-gradient(to right, var(--tw-gradient-stops))}.from-transparent{--tw-gradient-from:transparent var(--tw-gradient-from-position);--tw-gradient-to:#0000 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.via-white\/20{--tw-gradient-to:#fff0 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), #fff3 var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.object-center{-o-object-position:center;object-position:center}.object-left-top{-o-object-position:left top;object-position:left top}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.pb-0\.5{padding-bottom:.125rem}.pb-16{padding-bottom:4rem}.pb-3{padding-bottom:.75rem}.pb-8{padding-bottom:2rem}.pt-2{padding-top:.5rem}.pt-24{padding-top:6rem}.pt-3\.5{padding-top:.875rem}.text-center{text-align:center}.text-right{text-align:right}.font-body{font-family:Space Grotesk,sans-serif}.font-display{font-family:VT323,Share Tech Mono,monospace}.font-mono{font-family:Share Tech Mono,Courier New,monospace}.font-sans{font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-5xl{font-size:3rem;line-height:1}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-light{font-weight:300}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-loose{line-height:2}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.tracking-\[0\.25em\]{letter-spacing:.25em}.tracking-\[0\.2em\]{letter-spacing:.2em}.tracking-\[0\.35em\]{letter-spacing:.35em}.tracking-\[0\.3em\]{letter-spacing:.3em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-green-400\/90{color:#4ade80e6}.text-red-400\/90{color:#f87171e6}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-white\/15{color:#ffffff26}.text-white\/20{color:#fff3}.text-white\/25{color:#ffffff40}.text-white\/30{color:#ffffff4d}.text-white\/35{color:#ffffff59}.text-white\/40{color:#fff6}.text-white\/45{color:#ffffff73}.text-white\/50{color:#ffffff80}.text-white\/60{color:#fff9}.text-white\/70{color:#ffffffb3}.text-white\/80{color:#fffc}.text-white\/85{color:#ffffffd9}.text-white\/90{color:#ffffffe6}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-15{opacity:.15}.opacity-20{opacity:.2}.opacity-80{opacity:.8}.shadow{--tw-shadow:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[0_10px_30px_-10px_rgba\(0\,0\,0\,0\.5\)\]{--tw-shadow:0 10px 30px -10px #00000080;--tw-shadow-colored:0 10px 30px -10px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 #0000000d;--tw-shadow-colored:inset 0 2px 4px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.outline-none{outline-offset:2px;outline:2px solid #0000}.outline{outline-style:solid}.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{--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f);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{--tw-backdrop-blur:blur(8px);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-\[2px\]{--tw-backdrop-blur:blur(2px);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);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px);backdrop-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-xl{--tw-backdrop-blur:blur(24px);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{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,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-property:transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-700{transition-duration:.7s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}:root{--c-black:#000;--c-white:#fff;--c-grey-900:#0a0a0a;--c-grey-800:#111;--c-grey-700:#1a1a1a;--c-grey-600:#222;--c-grey-400:#555;--c-grey-200:#aaa;--c-grey-100:#ccc;--c-accent:#fff;--c-dim:#1a1a1a;--c-border:#ffffff1f;--c-border-mid:#fff3;--c-border-hi:#ffffff80;--c-glow-sm:0 0 8px #fff6, 0 0 16px #fff3;--c-glow-md:0 0 15px #ffffff80, 0 0 40px #ffffff26;--c-glow-lg:0 0 25px #fff9, 0 0 60px #fff3;--font-mono:"Share Tech Mono", "Courier New", monospace;--font-vt:"VT323", monospace;--font-body:"Space Grotesk", sans-serif;--ease-out-expo:cubic-bezier(.16, 1, .3, 1)}html.light{--c-black:#fcfcfc;--c-white:#000;--c-grey-900:#f5f5f5;--c-grey-800:#eee;--c-grey-700:#e0e0e0;--c-grey-600:#bdbdbd;--c-grey-400:#757575;--c-grey-200:#424242;--c-grey-100:#1a1a1a;--c-accent:#000;--c-dim:#f0f0f0;--c-border:#0000001f;--c-border-mid:#0003;--c-border-hi:#00000080;--c-glow-sm:0 0 8px #00000026;--c-glow-md:0 0 15px #0000001f;--c-glow-lg:0 0 25px #0000001a}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{background:var(--c-black);overflow-x:hidden}body{color:var(--c-grey-100);font-family:var(--font-body);transition:background-color .3s,color .3s;overflow-x:hidden}html.light{color-scheme:light}html.light .text-white{color:#000!important}html.light .text-white\/95{color:#000000f2!important}html.light .text-white\/90{color:#000000e6!important}html.light .text-white\/85{color:#000000d9!important}html.light .text-white\/80{color:#000c!important}html.light .text-white\/75{color:#000000bf!important}html.light .text-white\/70{color:#000000b8!important}html.light .text-white\/65{color:#000000ab!important}html.light .text-white\/60{color:#000000a1!important}html.light .text-white\/55{color:#00000094!important}html.light .text-white\/50{color:#0000008a!important}html.light .text-white\/45{color:#0000007d!important}html.light .text-white\/40{color:#00000073!important}html.light .text-white\/35{color:#0000006b!important}html.light .text-white\/30{color:#00000061!important}html.light .text-white\/25{color:#00000052!important}html.light .text-white\/20{color:#00000042!important}html.light .text-white\/15{color:#0003!important}html.light .text-white\/10{color:#00000024!important}html.light .text-white\/8{color:#0000001c!important}html.light h2{text-shadow:0 0 20px #0000000d!important}html.light .highlight{text-shadow:0 0 8px #00000014!important}html.light .bg-white{background-color:#000!important}html.light .bg-black{background-color:#fcfcfc!important}html.light .bg-black\/5,html.light .bg-white\/5{background-color:#0000000d!important}html.light .border-white\/5,html.light .border-white\/8,html.light .border-white\/10,html.light .border-white\/12,html.light .border-white\/15,html.light .border-white\/20,html.light .border-white\/25,html.light .border-white\/30,html.light .border-white\/35{border-color:#0000001f!important}html.light .border-retro-hi{border-color:#0003!important}html.light .hero-btn-secondary{color:#0009!important;border-color:#00000026!important}html.light .hero-btn-secondary:hover{color:#000!important;background:#0000000d!important;border-color:#0006!important}html.light .retro-tag{color:#000000b3!important;background:#00000008!important;border-color:#00000026!important}html.light .retro-tag:hover{color:#000!important;border-color:#0000004d!important}html.light .skill-card{background:#00000005!important;border-color:#00000014!important}html.light .skill-card:hover{background:#0000000a!important;border-color:#0003!important}html.light .cf-btn,html.light .project-btn,html.light .source-btn,html.light .hero-btn-primary{color:#fff!important;border-color:#000!important}html.light .cf-btn-fill,html.light .btn-fill{background:#000!important}html.light .cf-btn:hover,html.light .project-btn:hover,html.light .source-btn:hover,html.light .hero-btn-primary:hover{color:#000!important}body:before{content:"";z-index:10;pointer-events:none;background:repeating-linear-gradient(0deg,#0000,#0000 2px,#00000014 2px 4px);position:fixed;inset:0}html.light body:before{background:repeating-linear-gradient(0deg,#0000,#0000 2px,#00000008 2px 4px)}body:after{content:"";z-index:9;pointer-events:none;contain:strict;will-change:transform;background:linear-gradient(#0000 0%,#ffffff05 50%,#0000 100%);height:120px;animation:14s linear infinite scanline;position:fixed;top:0;left:0;right:0}::-webkit-scrollbar{width:4px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:99px}::-webkit-scrollbar-thumb:hover{background:#ffffff4d}html.light ::-webkit-scrollbar-thumb{background:#00000026}html.light ::-webkit-scrollbar-thumb:hover{background:#0000004d}::selection{background:var(--c-white);color:var(--c-black)}:focus-visible{outline:2px solid var(--c-white);outline-offset:4px}h1,h2,h3{font-family:var(--font-vt);letter-spacing:.05em}h2{text-shadow:0 0 20px #ffffff26}.highlight{color:var(--c-white);text-shadow:0 0 12px #fff6;font-weight:500}a{color:var(--c-grey-100);text-decoration:none;transition:color .2s}a:hover{color:var(--c-white)}.text-white-glow{text-shadow:var(--c-glow-sm)}.text-white-glow-lg{text-shadow:var(--c-glow-lg)}.border-retro{border:1px solid var(--c-border);background:#ffffff05}html.light .border-retro{background:#00000005}.border-retro-hi{border:1px solid var(--c-border-hi);background:#ffffff0a;box-shadow:0 0 20px #ffffff0d}html.light .border-retro-hi{background:#0000000a;box-shadow:0 0 20px #0000000d}.retro-line{background:linear-gradient(90deg,#0000,#fff6,#0000);height:1px}html.light .retro-line{background:linear-gradient(90deg,#0000,#0003,#0000)}.retro-line-v{background:linear-gradient(#0000,#fff3,#0000);width:1px}section{z-index:10;position:relative}.section-num{font-family:var(--font-mono);color:#ffffffb3;letter-spacing:.2em;font-size:.75rem}.retro-tag{border:1px solid var(--c-border);font-family:var(--font-mono);color:#ffffff9e;letter-spacing:.1em;text-transform:uppercase;background:#ffffff08;padding:3px 10px;font-size:.68rem;transition:all .2s;display:inline-block}.retro-tag:hover,.retro-tag-hi{color:#ffffffd9;background:#ffffff0f;border-color:#fff6}.noise-overlay{z-index:9997;pointer-events:none;opacity:.015;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAMAAAAp4XiDAAAAUVBMVEWFhYWDg4N3d3dtbW1mzM2NjY3IyMjJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnPz8+fAAAAAnRSTlP/AOW3MEoAAAESSURBVHgBvdLpDoMgDAVgY6u11u3932mBhfE7ST7O98782WIAh98PZp8Y3+P2f6S9z+39f7T93f7/Rzv62N/tj3b0sb/bH+3oY3+3P9rRx/5uf7Sjj/3d/mhHH/u7/dGOPvZ3+6Mdfezv9kc7+tjf7Y929LG/2x/t6GN/tz/a0cf+bn+0o4/93f5oRx/7u/3Rjj72d/ujHX3s7/ZHO/rY3+2PdvSxv9sf7ehjf7c/2tHH/m5/tKOP/d3+aEcf+7v90Y4+9nf7ox197O/2Rzv62N/tj3b0sb/bH+3oY3+3P9rRx/5uf7Sjj/3d/mhHH/u7/dGOPvZ3+6Mdfezv9kc7+tjf7Y929LG/2x/t6GN/tz/a0cf+bn+0o4/93f5o/p89Gf5B/iH+AYoDfgFmZ8MvAAAAAElFTkSuQmCC);background-repeat:repeat;background-size:80px;position:fixed;inset:0}.reveal{opacity:0;transition:opacity .65s var(--ease-out-expo), transform .65s var(--ease-out-expo);transform:translateY(20px)}.reveal.visible{opacity:1;transform:none}.stagger>*{opacity:0;transform:translateY(16px)}.stagger.visible>:first-child{animation:revealUp .6s 50ms var(--ease-out-expo) forwards}.stagger.visible>:nth-child(2){animation:revealUp .6s .15s var(--ease-out-expo) forwards}.stagger.visible>:nth-child(3){animation:revealUp .6s .25s var(--ease-out-expo) forwards}.stagger.visible>:nth-child(4){animation:revealUp .6s .35s var(--ease-out-expo) forwards}@keyframes revealUp{to{opacity:1;transform:translateY(0)}}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.marquee-track{animation:24s linear infinite marquee}@keyframes scanline{0%{transform:translateY(-100%)}to{transform:translateY(100vh)}}@keyframes cursor-blink{0%,to{opacity:1}50%{opacity:0}}.glitch{position:relative}.glitch:before,.glitch:after{content:attr(data-text);width:100%;height:100%;position:absolute;top:0;left:0}.glitch:before{color:#ffffffb3;clip-path:inset(0 0 100%);animation:6s infinite glitch-before}html.light .glitch:before{color:#0006}.glitch:after{color:#b4b4b480;clip-path:inset(100% 0 0);animation:6s infinite glitch-after}html.light .glitch:after{color:#0003}@keyframes glitch-before{0%,88%,to{clip-path:inset(0 0 100%);transform:translate(0)}89%{clip-path:inset(20% 0 50%);transform:translate(-2px,-1px)}90%{clip-path:inset(60% 0 10%);transform:translate(2px,1px)}91%{clip-path:inset(0 0 100%);transform:translate(0)}}@keyframes glitch-after{0%,88%,to{clip-path:inset(100% 0 0);transform:translate(0)}89%{clip-path:inset(40% 0 30%);transform:translate(2px,-1px)}90%{clip-path:inset(70% 0 5%);transform:translate(-2px,1px)}91%{clip-path:inset(100% 0 0);transform:translate(0)}}@media (pointer:coarse){body{cursor:auto}#cursor-dot,#cursor-ring{display:none}}#loader{z-index:99999;font-family:var(--font-mono);color:#fff;background:#000;flex-direction:column;justify-content:center;align-items:center;gap:0;transition:opacity .35s cubic-bezier(.16,1,.3,1),transform .35s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;inset:0;overflow:hidden}html.light #loader{color:#000;background:#fcfcfc}#loader.hidden{opacity:0;pointer-events:none;transform:scale(1.04)}.loader-snake-scene{aspect-ratio:3;width:min(520px,90vw);height:auto;margin-bottom:0;position:relative}.loader-leaf-sprig{z-index:0;opacity:.48;pointer-events:none;width:74px;height:42px;position:absolute;top:50%}.loader-leaf-sprig:before{content:"";transform-origin:50%;background:#ffffff80;width:70px;height:1px;position:absolute;top:20px}.loader-leaf-sprig span{border:1px solid #ffffffb8;border-radius:100% 0;width:12px;height:6px;position:absolute}.loader-leaf-sprig--left{left:-30px;transform:translateY(-50%)rotate(-17deg)}.loader-leaf-sprig--right{right:-30px;transform:translateY(-50%)scaleX(-1)rotate(-17deg)}.loader-leaf-sprig span:first-child{top:7px;left:14px;transform:rotate(28deg)}.loader-leaf-sprig span:nth-child(2){top:25px;left:32px;transform:rotate(-58deg)}.loader-leaf-sprig span:nth-child(3){top:4px;left:49px;transform:rotate(31deg)}html.light .loader-leaf-sprig:before{background:#0000006b}html.light .loader-leaf-sprig span{border-color:#0000009e}.loader-snake-reveal{z-index:1;width:100%;height:100%;clip-path:inset(0 calc(100% - var(--snake-progress,0%)) 0 0);will-change:clip-path;position:absolute;inset:0;overflow:hidden}.loader-snake-art{width:100%;height:100%;position:absolute;inset:0}.loader-snake-reveal img{-o-object-fit:contain;object-fit:contain;transform-origin:50%;will-change:transform;width:100%;height:100%;animation:3.2s ease-in-out infinite snakeSlither;position:absolute;inset:0}html.light .loader-snake-reveal{filter:invert()}@keyframes snakeSlither{0%,to{transform:translate(0,0)}25%{transform:translate(1px,-.75px)}50%{transform:translateY(.5px)}75%{transform:translate(-1px,.75px)}}@media (width<=768px),(prefers-reduced-motion:reduce){.loader-snake-reveal img{animation:none!important}}.loader-info{text-align:center;flex-direction:column;align-items:center;width:min(520px,90vw);display:flex}.loader-inner{text-align:center;flex-direction:column;align-items:center;display:flex}.loader-title{font-family:var(--font-mono);letter-spacing:.3em;color:#fff;opacity:0;margin-top:16px;font-size:1.1rem;font-weight:700;animation:.5s .4s forwards loaderTitleFade}html.light .loader-title{color:#000}@keyframes loaderTitleFade{to{opacity:1}}.loader-title-dot{color:#fff6}html.light .loader-title-dot{color:#0006}.loader-subtext{letter-spacing:.2em;color:#fff6;font-size:.62rem;font-family:var(--font-mono)}html.light .loader-subtext{color:#0006}.loader-bar{background:#ffffff29;width:100%;height:2px;transition:background-color .3s;position:relative;overflow:visible}.loader-bar--snake{z-index:0;position:absolute;top:50%;left:0;transform:translateY(-50%)}html.light .loader-bar{background:#0000001a}.loader-fill{transform-origin:0;will-change:transform;background:#fffffff2;width:100%;height:100%;position:relative;transform:scaleX(0);box-shadow:0 0 10px #fff6}.loader-fill:after{content:"";background:#000;border:1px solid #ffffffd1;border-radius:50%;width:10px;height:10px;position:absolute;top:50%;right:-5px;transform:translateY(-50%);box-shadow:0 0 10px #ffffff47}html.light .loader-fill{background:#000000e6;box-shadow:0 0 10px #00000029}html.light .loader-fill:after{background:#fcfcfc;border-color:#000000b3;box-shadow:0 0 10px #0000001a}.loader-pct{color:#ffffff73;font-size:.58rem;font-family:var(--font-mono);transition:color .3s;position:absolute;top:-18px;right:0}html.light .loader-pct{color:#00000073}@keyframes loadFill{0%{width:0%}to{width:100%}}@media (hover:none){.cf-btn:active .cf-btn-fill{transform:scaleX(0)}.contact-row:active,.project-card:active{background:#ffffff0d;border-color:#ffffff40}}@media (width<=768px){body:before{display:none!important}html:not(.light) .text-white\/20{color:#ffffff80!important}html:not(.light) .text-white\/25{color:#fff9!important}html:not(.light) .text-white\/30{color:#ffffffad!important}html:not(.light) .text-white\/35{color:#ffffffba!important}html:not(.light) .text-white\/40{color:#ffffffc7!important}html:not(.light) .text-white\/45{color:#ffffffd1!important}html:not(.light) .text-white\/50{color:#ffffffd9!important}html:not(.light) .text-white\/60{color:#ffffffe6!important}html.light .text-white\/20{color:#00000085!important}html.light .text-white\/25{color:#0000009e!important}html.light .text-white\/30{color:#000000ad!important}html.light .text-white\/35{color:#000000ba!important}html.light .text-white\/40{color:#000000c7!important}html.light .text-white\/45{color:#000000d1!important}html.light .text-white\/50{color:#000000d9!important}html.light .text-white\/60{color:#000000e6!important}.text-\[8px\]{font-size:.65rem!important}.text-\[9px\]{font-size:.7rem!important}.text-\[10px\]{font-size:.75rem!important}h2.font-display{letter-spacing:.12em!important;font-size:clamp(2.25rem,9vw,3.75rem)!important}.section-num{font-size:1.5rem!important}p{line-height:1.65!important}}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth,.lenis.lenis-smooth [style*="scroll-behavior: smooth"]{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:hidden}@keyframes section-focus-pulse{0%{border-color:#fff6!important;box-shadow:0 0 30px #ffffff26!important}to{}}.section-highlight{animation:1.8s cubic-bezier(.16,1,.3,1) forwards section-focus-pulse}html.light .section-highlight{animation:1.8s cubic-bezier(.16,1,.3,1) forwards section-focus-pulse-light}@keyframes section-focus-pulse-light{0%{border-color:#0006!important;box-shadow:0 0 30px #00000014!important}to{}}@keyframes title-pulse-glow{0%{text-shadow:0 0 25px #fffc,0 0 50px #fff6!important;color:#fff!important}to{}}.text-highlight{animation:1.8s cubic-bezier(.16,1,.3,1) forwards title-pulse-glow}html.light .text-highlight{animation:1.8s cubic-bezier(.16,1,.3,1) forwards title-pulse-glow-light}@keyframes title-pulse-glow-light{0%{text-shadow:0 0 15px #00000040,0 0 30px #0000001a!important;color:#000!important}to{}}@media (width>=768px){::view-transition-old(root),::view-transition-new(root){mix-blend-mode:normal;will-change:clip-path;animation:none}::view-transition-old(root){z-index:1}::view-transition-new(root){z-index:99999}html.dark::view-transition-new(root){filter:drop-shadow(0 0 40px #ffffff2e)}html.light::view-transition-new(root){filter:drop-shadow(0 0 40px #0000001f)}}.hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-white\/20:hover{border-color:#fff3}.hover\:border-white\/25:hover{border-color:#ffffff40}.hover\:border-white\/35:hover{border-color:#ffffff59}.hover\:border-white\/50:hover{border-color:#ffffff80}.hover\:border-white\/60:hover{border-color:#fff9}.hover\:bg-white\/5:hover{background-color:#ffffff0d}.hover\:bg-white\/\[0\.04\]:hover{background-color:#ffffff0a}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.active\:scale-90:active{--tw-scale-x:.9;--tw-scale-y:.9;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))}.active\:scale-95:active{--tw-scale-x:.95;--tw-scale-y:.95;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:w-full{width:100%}.group:hover .group-hover\:-translate-y-0\.5{--tw-translate-y:-.125rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:scale-\[1\.02\]{--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))}.group:hover .group-hover\:scale-\[1\.48\]{--tw-scale-x:1.48;--tw-scale-y:1.48;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/link:hover .group-hover\/link\:border-current{border-color:currentColor}.group:hover .group-hover\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.dark\:bg-black\/60:is(.dark *){background-color:#0009}.dark\:bg-zinc-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(24 24 27/var(--tw-bg-opacity,1))}@media (width>=640px){.sm\:block{display:block}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}}@media (width>=768px){.md\:pointer-events-auto{pointer-events:auto}.md\:right-14{right:3.5rem}.md\:col-span-5{grid-column:span 5/span 5}.md\:col-span-7{grid-column:span 7/span 7}.md\:flex{display:flex}.md\:hidden{display:none}.md\:h-16{height:4rem}.md\:min-h-\[5\.5rem\]{min-height:5.5rem}.md\:w-16{width:4rem}.md\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:gap-16{gap:4rem}.md\:p-8{padding:2rem}.md\:px-12{padding-left:3rem;padding-right:3rem}.md\:py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}.md\:text-7xl{font-size:4.5rem;line-height:1}.md\:text-\[10px\]{font-size:10px}.md\:text-\[11px\]{font-size:11px}.md\:text-\[13px\]{font-size:13px}.md\:text-\[8px\]{font-size:8px}.md\:text-\[9px\]{font-size:9px}.md\:text-base{font-size:1rem;line-height:1.5rem}.md\:text-lg{font-size:1.125rem;line-height:1.75rem}}@media (width>=1024px){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:gap-20{gap:5rem}.lg\:gap-8{gap:2rem}.lg\:px-20{padding-left:5rem;padding-right:5rem}}#globe-container[data-astro-cid-sqzlx4fm]{opacity:1;will-change:opacity;backface-visibility:hidden;transform:translateZ(0)}html.light #globe-container[data-astro-cid-sqzlx4fm]{opacity:.95}@media (width<=768px){#globe-container[data-astro-cid-sqzlx4fm]{opacity:.55!important}html.light #globe-container[data-astro-cid-sqzlx4fm]{opacity:.45!important}}#scroll-progress-bar[data-astro-cid-hfrh22jg]{z-index:10001;pointer-events:none;background:#fff;width:0%;height:2px;position:fixed;top:0;left:0;box-shadow:0 0 8px #fffc}html.light #scroll-progress-bar[data-astro-cid-hfrh22jg]{background:#000;box-shadow:0 0 8px #0003}#scroll-to-top[data-astro-cid-p774adf7]{box-shadow:0 4px 20px #0000004d,inset 0 1px #ffffff0d}#scroll-to-top[data-astro-cid-p774adf7].visible{opacity:1;pointer-events:auto;transform:translateY(0)}html.light #scroll-to-top[data-astro-cid-p774adf7]{color:#00000080;background:#fcfcfc80;border-color:#0000001a;box-shadow:0 4px 20px #00000014,inset 0 1px #fff9}html.light #scroll-to-top[data-astro-cid-p774adf7]:hover{color:#000;border-color:#00000080}#nav[data-astro-cid-wpvy4v7s]{-webkit-backdrop-filter:blur(16px)saturate(180%);background:#05050773;border-bottom:1px solid #ffffff14;transition:background .3s,border-color .3s,box-shadow .3s}#nav[data-astro-cid-wpvy4v7s].scrolled{background:#0a0a0ebf;border-bottom-color:#ffffff1f;box-shadow:0 10px 30px -10px #00000080}html.light #nav[data-astro-cid-wpvy4v7s]{-webkit-backdrop-filter:blur(16px)saturate(180%);background:#ffffff8c;border-bottom:1px solid #0000000f}html.light #nav[data-astro-cid-wpvy4v7s].scrolled{background:#ffffffd1;border-bottom-color:#0000001a;box-shadow:0 10px 30px -10px #0000000f}#mobile-menu[data-astro-cid-wpvy4v7s]{transition:transform .35s cubic-bezier(.16,1,.3,1);transform:translate(-100%);background:#09090b!important}#mobile-menu[data-astro-cid-wpvy4v7s].open{transform:translate(0)}#mobile-menu-overlay[data-astro-cid-wpvy4v7s]{opacity:0;pointer-events:none;transition:opacity .3s}#mobile-menu-overlay[data-astro-cid-wpvy4v7s].open{opacity:1;pointer-events:auto}.mobile-menu-link[data-astro-cid-wpvy4v7s].active{font-weight:500;color:#fff!important;background:#ffffff14!important}html.light #mobile-menu[data-astro-cid-wpvy4v7s]{background:#fafafafa!important;border-right:1px solid #0000001a!important}html.light .mobile-menu-link[data-astro-cid-wpvy4v7s]{color:#0009!important}html.light .mobile-menu-link[data-astro-cid-wpvy4v7s]:hover{color:#000!important;background:#0000000a!important}html.light .mobile-menu-link[data-astro-cid-wpvy4v7s].active{color:#000!important;background:#00000012!important}html.light #mobile-menu-overlay[data-astro-cid-wpvy4v7s]{background:#00000026!important}#mobile-menu-btn[data-astro-cid-wpvy4v7s] .hamburger-line[data-astro-cid-wpvy4v7s]{transition:transform .3s,opacity .3s,top .3s}#mobile-menu-btn[data-astro-cid-wpvy4v7s].open .hamburger-line[data-astro-cid-wpvy4v7s]:first-child{transform:rotate(45deg);top:9px!important}#mobile-menu-btn[data-astro-cid-wpvy4v7s].open .hamburger-line[data-astro-cid-wpvy4v7s]:nth-child(2){opacity:0;transform:translate(-10px)}#mobile-menu-btn[data-astro-cid-wpvy4v7s].open .hamburger-line[data-astro-cid-wpvy4v7s]:nth-child(3){transform:rotate(-45deg);top:9px!important}.section-dot[data-astro-cid-wpvy4v7s] .nav-line[data-astro-cid-wpvy4v7s]{background-color:#fff3}.section-dot[data-astro-cid-wpvy4v7s]:hover .nav-line[data-astro-cid-wpvy4v7s]{background-color:#fffc}.section-dot[data-astro-cid-wpvy4v7s].active .nav-line[data-astro-cid-wpvy4v7s]{background-color:#fff!important;width:24px!important}.section-dot[data-astro-cid-wpvy4v7s].active .label-text[data-astro-cid-wpvy4v7s]{color:#ffffffd9}html.light .section-dot[data-astro-cid-wpvy4v7s] .nav-line[data-astro-cid-wpvy4v7s]{background-color:#00000026}html.light .section-dot[data-astro-cid-wpvy4v7s]:hover .nav-line[data-astro-cid-wpvy4v7s]{background-color:#000c}html.light .section-dot[data-astro-cid-wpvy4v7s].active .nav-line[data-astro-cid-wpvy4v7s]{background-color:#000!important}html.light .section-dot[data-astro-cid-wpvy4v7s] .label-text[data-astro-cid-wpvy4v7s]{color:#00000073}html.light .section-dot[data-astro-cid-wpvy4v7s]:hover .label-text[data-astro-cid-wpvy4v7s]{color:#000}html.light .section-dot[data-astro-cid-wpvy4v7s].active .label-text[data-astro-cid-wpvy4v7s]{color:#000000d9}.nav-link[data-astro-cid-wpvy4v7s].active{color:#fff!important}html.light .nav-link[data-astro-cid-wpvy4v7s].active{color:#000!important}.nav-link[data-astro-cid-wpvy4v7s].active span[data-astro-cid-wpvy4v7s]{width:100%!important}.mobile-menu-link[data-astro-cid-wpvy4v7s].active{background:#ffffff0d;color:#fff!important}html.light .mobile-menu-link[data-astro-cid-wpvy4v7s].active{background:#00000008;color:#000!important}.dock-link[data-astro-cid-wpvy4v7s].active{box-shadow:inset 0 1px #ffffff1a;color:#fff!important;background-color:#ffffff1a!important}.dock-link[data-astro-cid-wpvy4v7s].active:after{content:"";background-color:#fff;border-radius:50%;width:3.5px;height:3.5px;position:absolute;bottom:2px;box-shadow:0 0 8px #fff}html.light [data-astro-cid-wpvy4v7s][aria-label=Quick\ actions]{background-color:#ffffffb3;border-color:#00000014;box-shadow:0 10px 30px -10px #00000026}html.light .dock-link[data-astro-cid-wpvy4v7s]{color:#0000008c}html.light .dock-link[data-astro-cid-wpvy4v7s]:hover{color:#000;background-color:#0000000a}html.light .dock-link[data-astro-cid-wpvy4v7s].active{box-shadow:none;color:#000!important;background-color:#0000000f!important}html.light .dock-link[data-astro-cid-wpvy4v7s].active:after{background-color:#000;box-shadow:0 0 8px #00000080}html.light [data-astro-cid-wpvy4v7s][aria-label=Quick\ actions] span[data-astro-cid-wpvy4v7s].bg-white\/15{background-color:#0000001a}html.light .dock-link[data-astro-cid-wpvy4v7s] span[data-astro-cid-wpvy4v7s]{color:#000000d9;background-color:#fffffff2;border-color:#00000014}#theme-toggle[data-astro-cid-wpvy4v7s]{cursor:pointer;position:relative}#sun-icon[data-astro-cid-wpvy4v7s],#moon-icon[data-astro-cid-wpvy4v7s]{pointer-events:none;position:absolute;top:50%;left:50%;translate:-50% -50%}html.dark #sun-icon[data-astro-cid-wpvy4v7s],html:not(.light) #sun-icon[data-astro-cid-wpvy4v7s]{opacity:1;visibility:visible}html.dark #moon-icon[data-astro-cid-wpvy4v7s],html:not(.light) #moon-icon[data-astro-cid-wpvy4v7s]{opacity:0;visibility:hidden}html.light #moon-icon[data-astro-cid-wpvy4v7s]{opacity:1;visibility:visible}html.light #sun-icon[data-astro-cid-wpvy4v7s]{opacity:0;visibility:hidden}@media (width>=768px){#sun-icon[data-astro-cid-wpvy4v7s],#moon-icon[data-astro-cid-wpvy4v7s]{transition:transform .45s cubic-bezier(.34,1.4,.64,1),opacity .3s,visibility .3s}html.dark #sun-icon[data-astro-cid-wpvy4v7s],html:not(.light) #sun-icon[data-astro-cid-wpvy4v7s]{transform:rotate(0)scale(1)}html.dark #moon-icon[data-astro-cid-wpvy4v7s],html:not(.light) #moon-icon[data-astro-cid-wpvy4v7s]{transform:rotate(90deg)scale(.5)}html.light #moon-icon[data-astro-cid-wpvy4v7s]{transform:rotate(0)scale(1)}html.light #sun-icon[data-astro-cid-wpvy4v7s]{transform:rotate(-90deg)scale(.5)}}@media (hover:hover){.dock-link[data-astro-cid-wpvy4v7s]:hover .dock-tooltip[data-astro-cid-wpvy4v7s]{opacity:1!important;transform:translate(-50%)scale(1)!important}}.hero-btn-primary[data-astro-cid-ge2uvauf]{font-family:var(--font-mono);letter-spacing:.2em;align-items:center;padding:12px 28px;font-size:.78rem;transition:all .3s;display:inline-flex;position:relative;overflow:hidden;color:#000!important;background:0 0!important;border:1px solid #fff!important}.hero-btn-primary[data-astro-cid-ge2uvauf] .relative[data-astro-cid-ge2uvauf]{color:inherit!important}.hero-btn-primary[data-astro-cid-ge2uvauf]:hover{color:#fff!important}.btn-fill[data-astro-cid-ge2uvauf]{transform-origin:0;transition:transform .3s;position:absolute;inset:0;background:#fff!important}.hero-btn-primary[data-astro-cid-ge2uvauf]:hover .btn-fill[data-astro-cid-ge2uvauf]{transform:scaleX(0)}.hero-btn-secondary[data-astro-cid-ge2uvauf]{font-family:var(--font-mono);letter-spacing:.2em;z-index:1;border-radius:4px;align-items:center;padding:12px 28px;font-size:.78rem;transition:all .3s;display:inline-flex;position:relative;overflow:hidden;color:#fffc!important;background:0 0!important;border:none!important}.hero-btn-secondary[data-astro-cid-ge2uvauf] .relative[data-astro-cid-ge2uvauf]{color:inherit!important}.hero-btn-secondary[data-astro-cid-ge2uvauf]:before{content:"";z-index:-2;background:conic-gradient(#0000 0% 55%,#fffffff2 75%,#0000 100%);width:200%;height:200%;animation:4s linear infinite rotate-beam;position:absolute;top:-50%;left:-50%}.hero-btn-secondary[data-astro-cid-ge2uvauf]:after{content:"";z-index:-1;background:#000;border-radius:3px;transition:background .3s;position:absolute;inset:1px}.hero-btn-secondary[data-astro-cid-ge2uvauf]:hover{color:#000!important}.hero-btn-secondary[data-astro-cid-ge2uvauf]:hover:after{background:#fff}@keyframes rotate-beam{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.hero-btn-ghost[data-astro-cid-ge2uvauf]{font-family:var(--font-mono);letter-spacing:.2em;align-items:center;padding:12px 24px;font-size:.78rem;transition:all .3s;display:inline-flex;color:#ffffff4d!important;border:1px solid #ffffff14!important}html.light .hero-btn-primary[data-astro-cid-ge2uvauf]{color:#fff!important;border-color:#000!important}html.light .hero-btn-primary[data-astro-cid-ge2uvauf]:hover{color:#000!important}html.light .btn-fill[data-astro-cid-ge2uvauf]{background:#000!important}html.light .hero-btn-secondary[data-astro-cid-ge2uvauf]{color:#000c!important}html.light .hero-btn-secondary[data-astro-cid-ge2uvauf]:before{background:conic-gradient(#0000 0% 55%,#000000d9 75%,#0000 100%)}html.light .hero-btn-secondary[data-astro-cid-ge2uvauf]:after{background:#fcfcfc}html.light .hero-btn-secondary[data-astro-cid-ge2uvauf]:hover{color:#fff!important}html.light .hero-btn-secondary[data-astro-cid-ge2uvauf]:hover:after{background:#000}.hero-pfp-glow[data-astro-cid-ge2uvauf]{box-shadow:0 0 25px #ffffff14,0 8px 24px #0006!important}.hero-pfp-glow[data-astro-cid-ge2uvauf]:hover{box-shadow:0 0 35px #ffffff1f,0 8px 30px #00000080!important}html.light .html-light-text-45[data-astro-cid-ge2uvauf]{color:#0009!important}html.light .html-light-text-25[data-astro-cid-ge2uvauf]{color:#0006!important}html.light .html-light-outer[data-astro-cid-ge2uvauf]{background-color:#fffc!important}html.light .hero-pfp-glow[data-astro-cid-ge2uvauf]{box-shadow:0 0 25px #0000000f,0 8px 24px #00000014!important}html.light .hero-pfp-glow[data-astro-cid-ge2uvauf]:hover{box-shadow:0 0 35px #00000017,0 8px 30px #0000001f!important}html.light .html-light-retro-line[data-astro-cid-ge2uvauf]{background-color:#0003!important}@keyframes scrollPulse{0%,to{opacity:.4}50%{opacity:1}}#hero-desc[data-astro-cid-ge2uvauf] p[data-astro-cid-ge2uvauf]{text-shadow:0 1px 3px #000000e6,0 2px 6px #000000b3}#hero-tagline[data-astro-cid-ge2uvauf] p[data-astro-cid-ge2uvauf]{text-shadow:0 1px 3px #000000e6}html.light #hero-desc[data-astro-cid-ge2uvauf] p[data-astro-cid-ge2uvauf],html.light #hero-tagline[data-astro-cid-ge2uvauf] p[data-astro-cid-ge2uvauf]{text-shadow:none!important}#hero-heatmap[data-astro-cid-ge2uvauf]{box-shadow:0 12px 40px #00000080;background-color:#ffffff08!important;border:1px solid #ffffff14!important}html.light #hero-heatmap[data-astro-cid-ge2uvauf]{background-color:#ffffffd9!important;border:1px solid #0000001f!important;box-shadow:0 12px 40px #0000000f!important}.heatmap-title[data-astro-cid-ge2uvauf]{color:#fffc!important;background-color:#050505!important}html.light .heatmap-title[data-astro-cid-ge2uvauf]{color:#000000d9!important;background-color:#fff!important}.heatmap-link[data-astro-cid-ge2uvauf]{color:#ffffffb3}.heatmap-link[data-astro-cid-ge2uvauf]:hover{color:#fff}.heatmap-link[data-astro-cid-ge2uvauf] svg[data-astro-cid-ge2uvauf]{color:#fff6}.heatmap-link[data-astro-cid-ge2uvauf]:hover svg[data-astro-cid-ge2uvauf]{color:#fff}html.light .heatmap-link[data-astro-cid-ge2uvauf]{color:#000000a6!important}html.light .heatmap-link[data-astro-cid-ge2uvauf]:hover{color:#000!important}html.light .heatmap-link[data-astro-cid-ge2uvauf] svg[data-astro-cid-ge2uvauf]{color:#00000073!important}html.light .heatmap-link[data-astro-cid-ge2uvauf]:hover svg[data-astro-cid-ge2uvauf]{color:#000!important}.heatmap-label[data-astro-cid-ge2uvauf]{letter-spacing:.05em;color:#ffffffa6!important;white-space:nowrap!important;font-size:10px!important;font-weight:500!important}html.light .heatmap-label[data-astro-cid-ge2uvauf]{color:#0009!important}.heatmap-footer[data-astro-cid-ge2uvauf]{color:#ffffffa6!important;font-size:10px!important}html.light .heatmap-footer[data-astro-cid-ge2uvauf]{color:#000000a6!important}.heatmap-count[data-astro-cid-ge2uvauf]{color:#fff!important;font-weight:600!important}html.light .heatmap-count[data-astro-cid-ge2uvauf]{color:#000!important}.heatmap-cell{border-radius:1.5px!important;width:10px!important;height:10px!important;transition:background-color .2s!important}.hl-0{background:#ffffff14!important}.hl-1{background:#ffffff40!important}.hl-2{background:#ffffff80!important}.hl-3{background:#ffffffbf!important}.hl-4{background:#fff!important}html.light .hl-0{background:#0000000f!important}html.light .hl-1{background:#00000038!important}html.light .hl-2{background:#00000073!important}html.light .hl-3{background:#000000b3!important}html.light .hl-4{background:#000000f2!important}#heatmap-tooltip{color:#fff!important;letter-spacing:0!important;z-index:50!important;pointer-events:none!important;white-space:nowrap!important;background:#000!important;border:1px solid #ffffff26!important;border-radius:6px!important;padding:6px 12px!important;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif!important;font-size:11px!important;font-weight:500!important;transition:opacity .1s,transform .1s!important;position:absolute!important;box-shadow:0 4px 15px #0009!important}html.light #heatmap-tooltip{color:#000!important;background:#fff!important;border-color:#0000001f!important;box-shadow:0 4px 15px #0000001f!important}html.light .border-retro[data-astro-cid-oxgmilyn],html.light .group[data-astro-cid-oxgmilyn]{border-color:#0000001a!important}html.light .group[data-astro-cid-oxgmilyn]:hover{border-color:#0003!important}html.light .bg-white\/5[data-astro-cid-oxgmilyn],html.light .bg-white\/\[0\.02\][data-astro-cid-oxgmilyn]{background-color:#00000005!important}html.light .hover\:bg-white\/\[0\.06\][data-astro-cid-oxgmilyn]:hover{background-color:#0000000d!important}html.light .text-white\/60[data-astro-cid-oxgmilyn]{color:#0009!important}html.light .text-white\/35[data-astro-cid-oxgmilyn]{color:#00000059!important}html.light .text-white\/70[data-astro-cid-oxgmilyn]{color:#000000b3!important}html.light .text-white[data-astro-cid-oxgmilyn]{color:#000!important}html.light .label-badge[data-astro-cid-oxgmilyn]{background-color:#00000005!important;border-color:#00000026!important}.about-card[data-astro-cid-oxgmilyn]{backdrop-filter:blur(16px);transition:border-color .4s,transform .4s,box-shadow .4s;box-shadow:0 4px 30px #0006;background:#0a0a0acc!important;border:1px solid #ffffff1a!important}.about-card[data-astro-cid-oxgmilyn]:hover{transform:translateY(-2px);box-shadow:0 10px 30px #0009;border-color:#ffffff40!important}.focus-badge[data-astro-cid-oxgmilyn]{color:#ffffffa6;background:#000;border:1px solid #ffffff26;transition:all .3s}.about-card[data-astro-cid-oxgmilyn]:hover .focus-badge[data-astro-cid-oxgmilyn]{color:#fff;border-color:#ffffff73;box-shadow:0 0 10px #ffffff1a}.animate-pulse-subtle[data-astro-cid-oxgmilyn]{animation:3s ease-in-out infinite pulse-subtle}@keyframes pulse-subtle{0%,to{opacity:.95}50%{opacity:1;text-shadow:0 0 15px #fff3}}html.light .about-card[data-astro-cid-oxgmilyn]{box-shadow:0 4px 30px #00000008;background:#ffffffd9!important;border-color:#0000001a!important}html.light .about-card[data-astro-cid-oxgmilyn]:hover{box-shadow:0 10px 30px #0000000f;border-color:#00000040!important}html.light .about-card[data-astro-cid-oxgmilyn] li[data-astro-cid-oxgmilyn]{color:#000000e0!important}html.light .about-card[data-astro-cid-oxgmilyn] li[data-astro-cid-oxgmilyn] span[data-astro-cid-oxgmilyn]{color:#00000080!important}html.light .about-card[data-astro-cid-oxgmilyn] .font-mono[data-astro-cid-oxgmilyn]{color:#000000bf}html.light .about-card[data-astro-cid-oxgmilyn] .font-display[data-astro-cid-oxgmilyn]{color:#000!important}html.light .focus-badge[data-astro-cid-oxgmilyn]{color:#000000bf;background:#fff;border-color:#00000026}html.light .about-card[data-astro-cid-oxgmilyn]:hover .focus-badge[data-astro-cid-oxgmilyn]{color:#000;border-color:#00000073;box-shadow:0 0 10px #0000000d}.about-social-btn[data-astro-cid-oxgmilyn]{font-family:var(--font-mono);letter-spacing:.2em;color:#ffffffe6;background:#ffffff0f;border:1px solid #fff3;border-radius:.75rem;justify-content:center;align-items:center;gap:.625rem;padding:.875rem 1rem;font-size:.75rem;font-weight:600;text-decoration:none;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex}.about-social-btn[data-astro-cid-oxgmilyn]:hover{color:#fff;background:#ffffff1f;border-color:#ffffff80;transform:translateY(-2px);box-shadow:0 8px 25px #0006,0 0 15px #ffffff1a}html.light .about-social-btn[data-astro-cid-oxgmilyn]{color:#000000e6;background:#0000000d;border:1px solid #0003}html.light .about-social-btn[data-astro-cid-oxgmilyn]:hover{color:#000;background:#0000001a;border-color:#0009;box-shadow:0 8px 25px #00000014}@media (width<=768px){.about-card[data-astro-cid-oxgmilyn]{-webkit-backdrop-filter:none!important;background:#0f0f0ff2!important}html.light .about-card[data-astro-cid-oxgmilyn]{background:#fafafaf5!important}}.github-btn[data-astro-cid-t3eiqlen]{color:#ffffff73;backdrop-filter:blur(8px);background:#ffffff05;border:1px solid #fff3;transition:all .4s cubic-bezier(.16,1,.3,1);box-shadow:0 0 #fff0}.github-btn[data-astro-cid-t3eiqlen]:hover{color:#fff;background:#ffffff14;border-color:#fff9;transform:translateY(-2px);box-shadow:0 0 20px #ffffff1a}.github-btn[data-astro-cid-t3eiqlen] svg[data-astro-cid-t3eiqlen]{transition:transform .3s}.github-btn[data-astro-cid-t3eiqlen]:hover svg[data-astro-cid-t3eiqlen]{transform:translate(4px)}html.light .github-btn[data-astro-cid-t3eiqlen]{color:#0000008c;background:#00000003;border-color:#00000026}html.light .github-btn[data-astro-cid-t3eiqlen]:hover{color:#000;background:#0000000f;border-color:#0009;box-shadow:0 0 20px #0000000d}.project-tooltip[data-astro-cid-t3eiqlen]{pointer-events:none;opacity:0;transition:opacity .2s cubic-bezier(.16,1,.3,1),transform .2s cubic-bezier(.16,1,.3,1);transform:translate(-50%,6px)scale(.95)}@media (hover:hover){.group\/tooltip[data-astro-cid-t3eiqlen]:hover .project-tooltip[data-astro-cid-t3eiqlen]{opacity:1!important;transform:translate(-50%)scale(1)!important}}.project-tooltip-card[data-astro-cid-t3eiqlen]{color:#fff!important;background:#121214!important;border:1px solid #ffffff29!important;box-shadow:0 10px 25px -5px #00000080,0 8px 10px -6px #00000080!important}.project-tooltip-arrow[data-astro-cid-t3eiqlen]{background:#121214!important;border-bottom:1px solid #ffffff29!important;border-right:1px solid #ffffff29!important}html.light .project-tooltip-card[data-astro-cid-t3eiqlen]{color:#fff!important;background:#121214!important;border-color:#fff3!important}html.light .project-tooltip-arrow[data-astro-cid-t3eiqlen]{background:#121214!important;border-color:#fff3!important}.project-card[data-astro-cid-t3eiqlen] a[data-astro-cid-t3eiqlen]{box-shadow:none!important;background:0 0!important;border:none!important;outline:none!important}.project-card[data-astro-cid-t3eiqlen]{backdrop-filter:blur(16px);border-radius:16px;background:#141414bf!important;border:1px solid #ffffff2e!important;transition:border-color .4s,background .4s,transform .4s,box-shadow .4s!important}.project-card[data-astro-cid-t3eiqlen]:hover{transform:translateY(-2px);box-shadow:0 20px 50px #0006;background:#191919d9!important;border-color:#ffffff4d!important}.project-card[data-astro-cid-t3eiqlen] h3[data-astro-cid-t3eiqlen]{color:#fff!important}.project-card[data-astro-cid-t3eiqlen] p[data-astro-cid-t3eiqlen]{transition:color .4s;color:#ffffffb3!important}.project-card[data-astro-cid-t3eiqlen]:hover p[data-astro-cid-t3eiqlen]{color:#ffffffd9!important}.project-image-wrapper[data-astro-cid-t3eiqlen]{transition:background-color .4s;background-color:#0003!important}html.light .project-image-wrapper[data-astro-cid-t3eiqlen]{background-color:#00000005!important;border-color:#00000014!important}html.light .project-card[data-astro-cid-t3eiqlen]:hover .project-image-wrapper[data-astro-cid-t3eiqlen]{background-color:#0000000a!important}.live-btn[data-astro-cid-t3eiqlen]{width:100%;font-family:var(--font-mono);letter-spacing:.2em;color:#000;cursor:pointer;border:1px solid #fff;justify-content:space-between;align-items:center;padding:16px 24px;font-size:11px;text-decoration:none;transition:color .3s;display:flex;position:relative;overflow:hidden}@media (width<=768px){.live-btn[data-astro-cid-t3eiqlen]{padding:12px 16px!important;font-size:10px!important}}.live-btn[data-astro-cid-t3eiqlen]:hover{color:#fff}.live-btn-fill[data-astro-cid-t3eiqlen]{transform-origin:0;z-index:1;background:#fff;transition:transform .3s cubic-bezier(.4,0,.2,1);position:absolute;inset:0}.live-btn[data-astro-cid-t3eiqlen]:hover .live-btn-fill[data-astro-cid-t3eiqlen]{transform:scaleX(0)}html.light .live-btn[data-astro-cid-t3eiqlen]{color:#fff;border-color:#000}html.light .live-btn-fill[data-astro-cid-t3eiqlen]{background:#000}html.light .live-btn[data-astro-cid-t3eiqlen]:hover{color:#000}html.light .project-card[data-astro-cid-t3eiqlen] span[data-astro-cid-t3eiqlen][class*=text-white\/60]{color:#00000080!important}html.light .project-card[data-astro-cid-t3eiqlen] div[data-astro-cid-t3eiqlen][class*=bg-white\/20]{background-color:#00000026!important}html.light .project-card[data-astro-cid-t3eiqlen] div[data-astro-cid-t3eiqlen][class*=text-white\/50]{color:#00000073!important}html.light .project-card[data-astro-cid-t3eiqlen] div[data-astro-cid-t3eiqlen][class*=text-white\/85],html.light .project-card[data-astro-cid-t3eiqlen] div[data-astro-cid-t3eiqlen][class*=text-white\/80]{color:#000c!important}html.light .project-card[data-astro-cid-t3eiqlen]{box-shadow:0 10px 30px #00000005;background:#f5f5f5d9!important;border-color:#0000002e!important}html.light .project-card[data-astro-cid-t3eiqlen]:hover{box-shadow:0 20px 50px #0000000f;background:#fffffff2!important;border-color:#00000073!important}html.light .project-card[data-astro-cid-t3eiqlen] h3[data-astro-cid-t3eiqlen]{color:#000!important}html.light .project-card[data-astro-cid-t3eiqlen] p[data-astro-cid-t3eiqlen]{color:#000000bf!important}html.light .project-card[data-astro-cid-t3eiqlen] div[data-astro-cid-t3eiqlen][class*="bg-white/[0.015]"]{background-color:#00000005!important}html.light .project-card[data-astro-cid-t3eiqlen]:hover div[data-astro-cid-t3eiqlen][class*="bg-white/[0.03]"]{background-color:#0000000f!important}html.light .project-image-container[data-astro-cid-t3eiqlen]{border-color:#0000001a!important}html.light .project-image-container[data-astro-cid-t3eiqlen]:not([data-custom-bg=true]){background-color:#00000005!important}html.light .project-image-container[data-astro-cid-t3eiqlen].p-3:not([data-custom-bg=true]){background-color:#eef0f2!important}.project-image-container[data-astro-cid-t3eiqlen].p-3:not([data-custom-bg=true]){background-color:#121214!important}html.light .project-card[data-astro-cid-t3eiqlen]:hover .project-image-container[data-astro-cid-t3eiqlen]{border-color:#0003!important}html.light .project-image-container[data-astro-cid-t3eiqlen] div[data-astro-cid-t3eiqlen][class*=bg-black\/75]{color:#000c!important;background:#ffffffe6!important;border-color:#0000001a!important}html.light .source-btn[data-astro-cid-t3eiqlen],html.light [data-astro-cid-t3eiqlen][href*=github]{color:#0009;border-color:#00000026}html.light .source-btn[data-astro-cid-t3eiqlen]:hover,html.light [data-astro-cid-t3eiqlen][href*=github]:hover{color:#000;background:#0000000d;border-color:#0006}@media (width<=768px){.project-card[data-astro-cid-t3eiqlen],.github-btn[data-astro-cid-t3eiqlen]{-webkit-backdrop-filter:none!important;background:#0f0f0ff2!important}html.light .project-card[data-astro-cid-t3eiqlen]{background:#fafafaf5!important}html.light .github-btn[data-astro-cid-t3eiqlen]{color:#0009!important;background:#fafafaf5!important;border-color:#00000026!important}}.video-control-btn[data-astro-cid-t3eiqlen]{transition:opacity .35s cubic-bezier(.16,1,.3,1),transform .35s cubic-bezier(.34,1.56,.64,1),background-color .3s,border-color .3s,color .3s;transform:translate(-50%,-50%)scale(.8)}.video-container[data-astro-cid-t3eiqlen].is-paused .video-control-btn[data-astro-cid-t3eiqlen]{background:#000000d9;border-color:#fff6;opacity:1!important;pointer-events:auto!important;transform:translate(-50%,-50%)scale(1)!important}.video-container[data-astro-cid-t3eiqlen].is-paused .video-control-btn[data-astro-cid-t3eiqlen]:hover{color:#fff;background:#000000f2;border-color:#ffffffa6;transform:translate(-50%,-50%)scale(1.1)!important}html.light .video-control-btn[data-astro-cid-t3eiqlen]{color:#000c;background:#ffffffbf;border-color:#0000001f}html.light .video-container[data-astro-cid-t3eiqlen].is-paused .video-control-btn[data-astro-cid-t3eiqlen]{color:#000000e6;background:#ffffffe6;border-color:#00000040}html.light .video-container[data-astro-cid-t3eiqlen].is-paused .video-control-btn[data-astro-cid-t3eiqlen]:hover{color:#000;background:#fffffffa;border-color:#00000073}.marquee-track[data-astro-cid-2zwc476k]{will-change:transform;backface-visibility:hidden}.skill-icon[data-astro-cid-2zwc476k]{opacity:.78;will-change:transform;transition:transform .3s,filter .3s,opacity .3s}.skill-card[data-astro-cid-2zwc476k]:hover .skill-icon[data-astro-cid-2zwc476k]{opacity:1;filter:drop-shadow(0 0 6px var(--tech-color));transform:scale(1.1)}.skill-card[data-astro-cid-2zwc476k]{border-radius:16px;box-shadow:0 4px 30px #0006;background:#0a0a0acc!important;border:1px solid #ffffff1a!important;transition:border-color .4s,background .4s,transform .4s,box-shadow .4s!important}.skill-card[data-astro-cid-2zwc476k]:hover{transform:translateY(-2px);box-shadow:0 10px 30px #0009;background:#0f0f0fe6!important;border-color:#ffffff40!important}.comfortable-box[data-astro-cid-2zwc476k]{border-radius:20px;box-shadow:0 4px 30px #0006;background:#0a0a0acc!important;border:1px solid #ffffff1a!important}html.light .skill-card[data-astro-cid-2zwc476k],html.light .comfortable-box[data-astro-cid-2zwc476k]{box-shadow:0 4px 30px #00000008;background:#ffffffd9!important;border-color:#0000001a!important}html.light .skill-card[data-astro-cid-2zwc476k]:hover{box-shadow:0 10px 30px #0000000f;background:#fffffff2!important;border-color:#00000040!important}html.light .skill-card[data-astro-cid-2zwc476k] .text-white\/80[data-astro-cid-2zwc476k]{color:#000c!important}html.light .skill-card[data-astro-cid-2zwc476k] .text-white\/40[data-astro-cid-2zwc476k]{color:#0006!important}html.light .comfortable-box[data-astro-cid-2zwc476k] .comfortable-title[data-astro-cid-2zwc476k]{color:#0000004d!important}@media (width<=768px){.skill-card[data-astro-cid-2zwc476k],.comfortable-box[data-astro-cid-2zwc476k]{-webkit-backdrop-filter:none!important;background:#0f0f0ff2!important}html.light .skill-card[data-astro-cid-2zwc476k],html.light .comfortable-box[data-astro-cid-2zwc476k]{background:#fafafaf5!important}}.contact-form-card[data-astro-cid-he3spzz3]{-webkit-backdrop-filter:blur(16px);border-radius:16px;padding:32px;transition:border-color .4s,box-shadow .4s;box-shadow:0 4px 30px #0006;background:#0a0a0acc!important;border:1px solid #ffffff1a!important}.contact-form-card[data-astro-cid-he3spzz3]:hover{box-shadow:0 10px 30px #00000080;border-color:#fff3!important}.contact-row[data-astro-cid-he3spzz3]{-webkit-backdrop-filter:blur(16px);border-radius:12px;transition:border-color .3s,background-color .3s,transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s;box-shadow:0 4px 20px #0000004d;background:#0a0a0acc!important;border:1px solid #ffffff1a!important}.contact-row[data-astro-cid-he3spzz3]:hover{transform:translate(4px);box-shadow:0 6px 24px #00000080;background:#ffffff0a!important;border-color:#ffffff4d!important}.contact-icon-wrapper[data-astro-cid-he3spzz3]{color:#fff6;transition:color .3s}.contact-row[data-astro-cid-he3spzz3]:hover .contact-icon-wrapper[data-astro-cid-he3spzz3]{color:#fff}.contact-label[data-astro-cid-he3spzz3]{color:#ffffff73;transition:color .3s}.contact-row[data-astro-cid-he3spzz3]:hover .contact-label[data-astro-cid-he3spzz3]{color:#ffffffa6}.contact-value[data-astro-cid-he3spzz3]{color:#fffc;transition:color .3s}.contact-row[data-astro-cid-he3spzz3]:hover .contact-value[data-astro-cid-he3spzz3]{color:#fff;text-shadow:0 0 10px #ffffff40}.contact-arrow[data-astro-cid-he3spzz3]{color:#fff3;transition:all .3s}.contact-row[data-astro-cid-he3spzz3]:hover .contact-arrow[data-astro-cid-he3spzz3]{color:#ffffffb3;transform:translate(3px)}.cf-input[data-astro-cid-he3spzz3]{color:#fff;width:100%;font-family:var(--font-mono);letter-spacing:.03em;background:#ffffff05;border:1px solid #ffffff1f;border-radius:8px;outline:none;padding:18px 20px;font-size:.88rem;transition:border-color .3s,background-color .3s,box-shadow .3s}.cf-input[data-astro-cid-he3spzz3]::placeholder{color:#ffffff73;transition:color .3s}.cf-input[data-astro-cid-he3spzz3]:focus{background:#ffffff0d;border-color:#ffffff80;box-shadow:0 0 15px #ffffff0d}.cf-textarea[data-astro-cid-he3spzz3]{resize:vertical;will-change:height;min-height:160px}.cf-btn[data-astro-cid-he3spzz3]{width:100%;font-family:var(--font-mono);letter-spacing:.25em;color:#000;cursor:pointer;border:1px solid #fff;border-radius:8px;margin-top:16px;padding:16px 24px;font-size:.82rem;transition:color .3s,border-color .3s,box-shadow .3s;position:relative;overflow:hidden}.cf-btn[data-astro-cid-he3spzz3]:hover{color:#fff;box-shadow:0 0 15px #ffffff1a}.cf-btn-fill[data-astro-cid-he3spzz3]{transform-origin:0;background:#fff;transition:transform .3s;position:absolute;inset:0}.cf-btn[data-astro-cid-he3spzz3]:hover .cf-btn-fill[data-astro-cid-he3spzz3]{transform:scaleX(0)}.footer-copyright[data-astro-cid-he3spzz3]{color:#ffffff59;transition:color .3s}.footer-copyright[data-astro-cid-he3spzz3]:hover{color:#ffffffb3}.footer-links[data-astro-cid-he3spzz3] a[data-astro-cid-he3spzz3]{color:#ffffff59;transition:color .3s}.footer-links[data-astro-cid-he3spzz3] a[data-astro-cid-he3spzz3]:hover{color:#ffffffb3}.footer-links[data-astro-cid-he3spzz3] span[data-astro-cid-he3spzz3]{color:#ffffff26}html.light .contact-form-card[data-astro-cid-he3spzz3]{box-shadow:0 4px 30px #00000008;background:#ffffffd9!important;border-color:#0000001a!important}html.light .contact-form-card[data-astro-cid-he3spzz3]:hover{box-shadow:0 10px 30px #0000000d;border-color:#0003!important}html.light .contact-row[data-astro-cid-he3spzz3]{box-shadow:0 4px 20px #00000008;background:#ffffffd9!important;border-color:#0000001a!important}html.light .contact-row[data-astro-cid-he3spzz3]:hover{box-shadow:0 6px 24px #0000000d;background:#00000008!important;border-color:#00000040!important}html.light .contact-icon-wrapper[data-astro-cid-he3spzz3]{color:#00000073!important}html.light .contact-row[data-astro-cid-he3spzz3]:hover .contact-icon-wrapper[data-astro-cid-he3spzz3]{color:#000!important}html.light .contact-label[data-astro-cid-he3spzz3]{color:#00000073!important}html.light .contact-row[data-astro-cid-he3spzz3]:hover .contact-label[data-astro-cid-he3spzz3]{color:#000000a6!important}html.light .contact-value[data-astro-cid-he3spzz3]{color:#000000bf!important}html.light .contact-row[data-astro-cid-he3spzz3]:hover .contact-value[data-astro-cid-he3spzz3]{color:#000!important}html.light .contact-arrow[data-astro-cid-he3spzz3]{color:#0003!important}html.light .contact-row[data-astro-cid-he3spzz3]:hover .contact-arrow[data-astro-cid-he3spzz3]{color:#000000b3!important}html.light .cf-input[data-astro-cid-he3spzz3]{color:#000;background:#00000005!important;border-color:#0000001f!important}html.light .cf-input[data-astro-cid-he3spzz3]:focus{box-shadow:0 0 15px #00000008;background:#0000000a!important;border-color:#0006!important}html.light .cf-input[data-astro-cid-he3spzz3]::placeholder{color:#00000073!important}html.light .footer-copyright[data-astro-cid-he3spzz3]{color:#00000059}html.light .footer-copyright[data-astro-cid-he3spzz3]:hover{color:#000000b3}html.light .footer-links[data-astro-cid-he3spzz3] a[data-astro-cid-he3spzz3]{color:#00000059}html.light .footer-links[data-astro-cid-he3spzz3] a[data-astro-cid-he3spzz3]:hover{color:#000000b3}html.light .footer-links[data-astro-cid-he3spzz3] span[data-astro-cid-he3spzz3]{color:#00000026}@media (width<=768px){.contact-form-card[data-astro-cid-he3spzz3],.contact-row[data-astro-cid-he3spzz3]{-webkit-backdrop-filter:none!important;background:#0f0f0ff2!important}html.light .contact-form-card[data-astro-cid-he3spzz3],html.light .contact-row[data-astro-cid-he3spzz3]{background:#fafafaf5!important}}
