:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh;overflow:hidden}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}*,: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:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-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:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,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}#macbook-portfolio main{height:100%;width:100%;overflow:hidden}#macbook-portfolio nav{display:flex;-webkit-user-select:none;-moz-user-select:none;user-select:none;align-items:center;justify-content:space-between;background-color:#ffffff80;padding:.5rem 1.25rem;--tw-backdrop-blur: blur(64px);-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)}#macbook-portfolio nav div{display:flex}#macbook-portfolio nav div{align-items:center}#macbook-portfolio nav div{gap:1.25rem}@media not all and (min-width:640px){#macbook-portfolio nav div{width:100%}}@media not all and (min-width:640px){#macbook-portfolio nav div{justify-content:center}}@media not all and (min-width:640px){#macbook-portfolio nav div:last-child{display:none}}#macbook-portfolio nav ul{display:flex}#macbook-portfolio nav ul{align-items:center}#macbook-portfolio nav ul{gap:1.25rem}@media not all and (min-width:640px){#macbook-portfolio nav ul{display:none}}#macbook-portfolio nav ul p{cursor:pointer}#macbook-portfolio nav ul p{font-size:.875rem;line-height:1.25rem}#macbook-portfolio nav ul p{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}#macbook-portfolio nav ul p:hover{text-decoration-line:underline}#macbook-portfolio nav time{font-size:.875rem;line-height:1.25rem}#macbook-portfolio nav time{font-weight:500}#macbook-portfolio nav time{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.\!container{width:100%!important}.container{width:100%}@media(min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media(min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media(min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media(min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media(min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}@media(min-width:1920px){.\!container{max-width:1920px!important}.container{max-width:1920px}}#macbook-portfolio .icon{border-radius:.25rem;padding:.25rem}#macbook-portfolio .icon:hover{cursor:default;--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}#macbook-portfolio button,#macbook-portfolio a,#macbook-portfolio [role=button]{cursor:pointer}#macbook-portfolio input,#macbook-portfolio textarea{cursor:text}#macbook-portfolio #welcome{position:absolute;top:50%;left:50%;display:flex;--tw-translate-x: -50%;--tw-translate-y: -50%;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));-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-direction:column;align-items:center;justify-content:center;--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity, 1))}@media not all and (min-width:640px){#macbook-portfolio #welcome{height:100vh;width:100%;padding-left:2.5rem;padding-right:2.5rem}}#macbook-portfolio #welcome p,#macbook-portfolio #welcome h1{pointer-events:auto;-webkit-user-select:none;-moz-user-select:none;user-select:none}#macbook-portfolio #welcome .small-screen{position:absolute}#macbook-portfolio #welcome .small-screen{top:2.5rem}#macbook-portfolio #welcome .small-screen{margin:1.75rem}#macbook-portfolio #welcome .small-screen{border-radius:.375rem}#macbook-portfolio #welcome .small-screen{background-color:#fca5a533}#macbook-portfolio #welcome .small-screen{padding:.75rem}#macbook-portfolio #welcome .small-screen{--tw-backdrop-blur: blur(16px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}@media(min-width:640px){#macbook-portfolio #welcome .small-screen{display:none}}#macbook-portfolio #welcome .small-screen p{flex:1 1 0%}#macbook-portfolio #welcome .small-screen p{text-align:center}#macbook-portfolio #welcome .small-screen p{font-family:Roboto Mono,monospace}#macbook-portfolio #welcome .small-screen p{font-size:16px}#macbook-portfolio #welcome .small-screen p{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}#dock{position:absolute;bottom:1.25rem;left:50%;z-index:50;--tw-translate-x: -50%;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));-webkit-user-select:none;-moz-user-select:none;user-select:none}@media not all and (min-width:640px){#dock{display:none}}#dock .dock-container{display:flex}#dock .dock-container{align-items:flex-end}#dock .dock-container{justify-content:space-between}#dock .dock-container{gap:.375rem}#dock .dock-container{border-radius:1rem}#dock .dock-container{background-color:#fff3}#dock .dock-container{padding:.375rem}#dock .dock-container{--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)}#dock .tooltip{width:-moz-fit-content!important;width:fit-content!important}#dock .tooltip{border-radius:.375rem!important}#dock .tooltip{--tw-bg-opacity: 1 !important;background-color:rgb(191 219 254 / var(--tw-bg-opacity, 1))!important}#dock .tooltip{padding-top:.25rem!important;padding-bottom:.25rem!important}#dock .tooltip{padding-left:.75rem!important;padding-right:.75rem!important}#dock .tooltip{text-align:center!important}#dock .tooltip{font-size:.75rem!important;line-height:1rem!important}#dock .tooltip{--tw-text-opacity: 1 !important;color:rgb(30 58 138 / var(--tw-text-opacity, 1))!important}#dock .tooltip{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25) !important;--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color) !important;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)!important}#dock .dock-icon{width:3.5rem;height:3.5rem}#dock .dock-icon{cursor:pointer}@media(min-width:1920px){#dock .dock-icon{width:5rem;height:5rem}}#dock .dock-icon img{-o-object-fit:cover;object-fit:cover}#dock .dock-icon img{-o-object-position:center;object-position:center}#window-controls{display:flex;gap:.5rem}#window-controls .close{width:.875rem;height:.875rem}#window-controls .close{cursor:pointer}#window-controls .close{border-radius:9999px}#window-controls .close{--tw-bg-opacity: 1;background-color:rgb(255 97 87 / var(--tw-bg-opacity, 1))}#window-controls .minimize{width:.875rem;height:.875rem}#window-controls .minimize{border-radius:9999px}#window-controls .minimize{--tw-bg-opacity: 1;background-color:rgb(255 192 48 / var(--tw-bg-opacity, 1))}#window-controls .maximize{width:.875rem;height:.875rem}#window-controls .maximize{border-radius:9999px}#window-controls .maximize{--tw-bg-opacity: 1;background-color:rgb(42 203 66 / var(--tw-bg-opacity, 1))}#window-header{display:flex;-webkit-user-select:none;-moz-user-select:none;user-select:none;align-items:center;justify-content:space-between;border-top-left-radius:.5rem;border-top-right-radius:.5rem;border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1));padding:.75rem 1rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}#safari{position:absolute;top:10rem;left:16.666667%;width:56rem;overflow:hidden;border-radius:.75rem;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);--tw-drop-shadow: drop-shadow(0 25px 25px rgb(0 0 0 / .15));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)}#safari .search{display:flex}#safari .search{width:66.666667%}#safari .search{align-items:center}#safari .search{gap:.75rem}#safari .search{border-radius:.5rem}#safari .search{border-width:1px}#safari .search{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}#safari .search{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}#safari .search{padding-left:.75rem;padding-right:.75rem}#safari .search{padding-top:.5rem;padding-bottom:.5rem}#safari .search input::-moz-placeholder{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}#safari .search input::placeholder{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}#safari .blog{margin-left:auto;margin-right:auto}#safari .blog{max-width:48rem}#safari .blog{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}#safari .blog{padding:2.5rem}#safari .blog h2{margin-bottom:2.5rem}#safari .blog h2{font-size:1.25rem;line-height:1.75rem}#safari .blog h2{font-weight:700}#safari .blog h2{--tw-text-opacity: 1;color:rgb(219 39 119 / var(--tw-text-opacity, 1))}#safari .blog .blog-post{display:grid}#safari .blog .blog-post{grid-template-columns:repeat(12,minmax(0,1fr))}#safari .blog .blog-post>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1.25rem * var(--tw-space-x-reverse));margin-left:calc(1.25rem * calc(1 - var(--tw-space-x-reverse)))}#safari .blog .blog-post img{width:100%;height:100%}#safari .blog .blog-post img{border-radius:.375rem}#safari .blog .blog-post img{-o-object-fit:cover;object-fit:cover}#safari .blog .blog-post .content{grid-column:span 10 / span 10}#safari .blog .blog-post .content>: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))}#safari .blog .blog-post .content p{font-size:.75rem;line-height:1rem}#safari .blog .blog-post .content p{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}#safari .blog .blog-post .content h3{font-size:1rem;line-height:1.5rem}#safari .blog .blog-post .content h3{font-weight:600}#safari .blog .blog-post .content h3{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}#safari .blog .blog-post .content a{display:flex}#safari .blog .blog-post .content a{align-items:center}#safari .blog .blog-post .content a{gap:.75rem}#safari .blog .blog-post .content a{font-size:.75rem;line-height:1rem}#safari .blog .blog-post .content a{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}#safari .blog .blog-post .content a:hover{text-decoration-line:underline}#terminal{position:absolute;top:8rem;left:8.333333%;width:36rem;overflow:hidden;border-radius:.75rem;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);--tw-drop-shadow: drop-shadow(0 25px 25px rgb(0 0 0 / .15));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)}#terminal h2{width:100%}#terminal h2{text-align:center}#terminal h2{font-size:.875rem;line-height:1.25rem}#terminal h2{font-weight:700}#terminal .techstack{padding:1.25rem}#terminal .techstack{font-family:Roboto Mono,monospace}#terminal .techstack{font-size:.875rem;line-height:1.25rem}#terminal .techstack .label{margin-inline-start:2.5rem}#terminal .techstack .label{margin-top:1.75rem}#terminal .techstack .label{display:flex}#terminal .techstack .label{align-items:center}#terminal .techstack .content{margin-top:1.25rem;margin-bottom:1.25rem}#terminal .techstack .content>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}#terminal .techstack .content{border-top-width:1px;border-bottom-width:1px}#terminal .techstack .content{border-style:dashed}#terminal .techstack .content{padding-top:1.25rem;padding-bottom:1.25rem}#terminal .techstack .content li .check{width:1.25rem}#terminal .techstack .content li .check{--tw-text-opacity: 1;color:rgb(0 161 84 / var(--tw-text-opacity, 1))}#terminal .techstack .content li h3{margin-inline-start:1.25rem}#terminal .techstack .content li h3{width:8rem}#terminal .techstack .content li h3{font-weight:600}#terminal .techstack .content li h3{--tw-text-opacity: 1;color:rgb(0 161 84 / var(--tw-text-opacity, 1))}#terminal .techstack .content li ul{display:flex}#terminal .techstack .content li ul{align-items:center}#terminal .techstack .content li ul{gap:.75rem}#terminal .techstack .footnote>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}#terminal .techstack .footnote{--tw-text-opacity: 1;color:rgb(0 161 84 / var(--tw-text-opacity, 1))}#terminal .techstack .footnote p{display:flex}#terminal .techstack .footnote p{align-items:center}#terminal .techstack .footnote p svg{margin-inline-end:1.25rem}#terminal .techstack .footnote p svg{width:1.25rem}#contact{position:absolute;top:15rem;left:41.666667%;max-width:42rem;overflow:hidden;border-radius:.75rem;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);--tw-drop-shadow: drop-shadow(0 25px 25px rgb(0 0 0 / .15));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)}#contact h2{width:100%}#contact h2{text-align:center}#contact h2{font-size:.875rem;line-height:1.25rem}#contact h2{font-weight:700}#contact h3{font-size:1.25rem;line-height:1.75rem}#contact h3{font-weight:600}#contact ul{display:flex}#contact ul{align-items:center}#contact ul{gap:.75rem}#contact ul li{width:15rem}#contact ul li{transform-origin:center}#contact ul li{border-radius:.5rem}#contact ul li{padding:.75rem}#contact ul li{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}#contact ul li{transition-duration:.3s}#contact ul li:hover{--tw-translate-y: -.125rem;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))}#contact ul li:hover{--tw-scale-x: 1.05;--tw-scale-y: 1.05;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))}#contact ul li a>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}#contact ul li p{font-size:.875rem;line-height:1.25rem}#contact ul li p{font-weight:600}#contact ul li p{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}#photos{position:absolute;top:24rem;left:50%;max-width:48rem;--tw-translate-y: -50%;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));overflow:hidden;border-radius:.75rem;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);--tw-drop-shadow: drop-shadow(0 25px 25px rgb(0 0 0 / .15));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)}#photos .sidebar{display:flex}#photos .sidebar{width:25%}#photos .sidebar{flex:none}#photos .sidebar{flex-direction:column}#photos .sidebar{border-right-width:1px}#photos .sidebar{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}#photos .sidebar{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}#photos .sidebar{padding:1.25rem}#photos .sidebar h2{margin-bottom:.25rem}#photos .sidebar h2{font-size:.75rem;line-height:1rem}#photos .sidebar h2{font-weight:500}#photos .sidebar h2{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}#photos .sidebar ul li{display:flex}#photos .sidebar ul li{cursor:pointer}#photos .sidebar ul li{align-items:center}#photos .sidebar ul li{gap:.5rem}#photos .sidebar ul li>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}#photos .sidebar ul li{border-radius:.375rem}#photos .sidebar ul li{padding-left:.75rem;padding-right:.75rem}#photos .sidebar ul li{padding-top:.5rem;padding-bottom:.5rem}#photos .sidebar ul li{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}#photos .sidebar ul li:first-child{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}#photos .sidebar ul li:first-child{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}#photos .sidebar ul li img{width:1rem}#photos .sidebar ul li p{font-size:.875rem;line-height:1.25rem}#photos .sidebar ul li p{font-weight:500}#photos .gallery{padding:2rem}#photos .gallery ul{display:grid}#photos .gallery ul{grid-template-columns:repeat(5,minmax(0,1fr))}#photos .gallery ul{grid-template-rows:repeat(5,minmax(0,1fr))}#photos .gallery ul{gap:1rem}#photos .gallery ul li{overflow:hidden}#photos .gallery ul li{border-radius:.5rem}#photos .gallery ul li{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 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)}#photos .gallery ul li img{width:100%;height:100%}#photos .gallery ul li img{-o-object-fit:cover;object-fit:cover}#photos .gallery ul li img{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}#photos .gallery ul li img{transition-duration:.3s}#photos .gallery ul li img:hover{--tw-scale-x: 1.05;--tw-scale-y: 1.05;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))}#photos .gallery ul li:first-child{grid-column:span 3 / span 3}#photos .gallery ul li:first-child{grid-column-start:1}#photos .gallery ul li:first-child{grid-row:span 3 / span 3}#photos .gallery ul li:first-child{grid-row-start:1}#photos .gallery ul li:nth-child(2){grid-column:span 2 / span 2}#photos .gallery ul li:nth-child(2){grid-column-start:4}#photos .gallery ul li:nth-child(2){grid-row:span 3 / span 3}#photos .gallery ul li:nth-child(2){grid-row-start:1}#photos .gallery ul li:nth-child(3){grid-column:span 3 / span 3}#photos .gallery ul li:nth-child(3){grid-column-start:3}#photos .gallery ul li:nth-child(3){grid-row:span 2 / span 2}#photos .gallery ul li:nth-child(3){grid-row-start:4}#photos .gallery ul li:last-child{grid-column:span 2 / span 2}#photos .gallery ul li:last-child{grid-column-start:1}#photos .gallery ul li:last-child{grid-row:span 2 / span 2}#photos .gallery ul li:last-child{grid-row-start:4}#resume{position:absolute;top:4rem;left:58.333333%;height:-moz-fit-content;height:fit-content;width:-moz-fit-content;width:fit-content;overflow:hidden;border-radius:.75rem;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);--tw-drop-shadow: drop-shadow(0 25px 25px rgb(0 0 0 / .15));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)}#resume #window-header h2{flex:1 1 0%}#resume #window-header h2{text-align:center}#resume #window-header h2{font-size:.875rem;line-height:1.25rem}#resume #window-header h2{font-weight:700}#finder{position:absolute;left:10rem;top:5rem;width:48rem;overflow:hidden;border-radius:.75rem;--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);--tw-drop-shadow: drop-shadow(0 25px 25px rgb(0 0 0 / .15));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)}#finder .sidebar{display:flex}#finder .sidebar{width:12rem}#finder .sidebar{flex-direction:column}#finder .sidebar>: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))}#finder .sidebar{border-right-width:1px}#finder .sidebar{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}#finder .sidebar{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}#finder .sidebar{padding:1.25rem}#finder .sidebar h3{margin-bottom:.25rem}#finder .sidebar h3{font-size:.75rem;line-height:1rem}#finder .sidebar h3{font-weight:500}#finder .sidebar h3{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}#finder .sidebar ul>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}#finder .sidebar ul .active{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}#finder .sidebar ul .active{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}#finder .sidebar ul .not-active{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}#finder .sidebar ul .not-active:hover{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}#finder .sidebar ul li{display:flex}#finder .sidebar ul li{cursor:pointer}#finder .sidebar ul li{align-items:center}#finder .sidebar ul li{gap:.5rem}#finder .sidebar ul li{border-radius:.375rem}#finder .sidebar ul li{padding-left:.75rem;padding-right:.75rem}#finder .sidebar ul li{padding-top:.5rem;padding-bottom:.5rem}#finder .sidebar ul li{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}#finder .content{position:relative}#finder .content{max-width:42rem}#finder .content{flex:1 1 0%}#finder .content{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}#finder .content{padding:2rem}#finder .content li{position:absolute}#finder .content li{display:flex}#finder .content li{flex-direction:column}#finder .content li{align-items:center}#finder .content li{gap:.75rem}#finder .content li img{position:relative}#finder .content li img{width:4rem;height:4rem}#finder .content li img{-o-object-fit:contain;object-fit:contain}#finder .content li img{-o-object-position:center;object-position:center}#finder .content li .group:hover img{--tw-scale-x: 1.05;--tw-scale-y: 1.05;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))}#finder .content li p{width:10rem}#finder .content li p{text-align:center}#finder .content li p{font-size:.875rem;line-height:1.25rem}#finder .content li p{font-weight:500}#txtfile{position:absolute;top:9rem;right:8rem;width:28rem;overflow:hidden;border-radius:.75rem;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);--tw-drop-shadow: drop-shadow(0 25px 25px rgb(0 0 0 / .15));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)}#txtfile h2{width:100%}#txtfile h2{text-align:center}#txtfile h2{font-size:.875rem;line-height:1.25rem}#txtfile h2{font-weight:700}#imgfile{position:absolute;top:10rem;left:16.666667%;width:36rem;overflow:hidden;border-radius:.75rem;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);--tw-drop-shadow: drop-shadow(0 25px 25px rgb(0 0 0 / .15));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)}#imgfile #window-header p{font-weight:700}#imgfile #window-header p{--tw-text-opacity: 1;color:rgb(95 98 102 / var(--tw-text-opacity, 1))}#imgfile .preview{max-height:70vh}#imgfile .preview{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}#imgfile .preview{padding:.5rem}#imgfile .preview img{height:-moz-fit-content;height:fit-content}#imgfile .preview img{width:100%}#imgfile .preview img{-o-object-fit:contain;object-fit:contain}#imgfile .preview img{-o-object-position:center;object-position:center}#home{position:relative;z-index:0}@media not all and (min-width:640px){#home{display:none}}#home ul li{position:absolute}#home ul li{z-index:0}#home ul li{display:flex}#home ul li{-webkit-user-select:none;-moz-user-select:none;user-select:none}#home ul li{flex-direction:column}#home ul li{align-items:center}#home ul li img{border-radius:.375rem}#home ul li img{padding:.25rem}#home ul li .group:hover img{background-color:#0307121a}#home ul li p{max-width:10rem}#home ul li p{border-radius:.375rem}#home ul li p{padding-left:.25rem;padding-right:.25rem}#home ul li p{text-align:center}#home ul li p{font-size:.875rem;line-height:1.25rem}#home ul li p{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}#home ul li p{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}#home ul li .group:hover p{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-x-0{left:0;right:0}.-bottom-1{bottom:-.25rem}.-left-10{left:-2.5rem}.-left-32{left:-8rem}.-top-10{top:-2.5rem}.-top-2{top:-.5rem}.-top-32{top:-8rem}.bottom-0{bottom:0}.bottom-1\/4{bottom:25%}.left-0{left:0}.left-1\/2{left:50%}.left-10{left:2.5rem}.left-20{left:5rem}.left-5{left:1.25rem}.left-7{left:1.75rem}.left-80{left:20rem}.right-0{right:0}.right-10{right:2.5rem}.right-20{right:5rem}.right-72{right:18rem}.right-80{right:20rem}.top-1\/2{top:50%}.top-1\/4{top:25%}.top-10{top:2.5rem}.top-20{top:5rem}.top-28{top:7rem}.top-40{top:10rem}.top-5{top:1.25rem}.top-52{top:13rem}.top-60{top:15rem}.top-\[20vh\]{top:20vh}.top-\[33vh\]{top:33vh}.top-\[5vh\]{top:5vh}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\[9998\]{z-index:9998}.z-\[9999\]{z-index:9999}.col-span-2{grid-column:span 2 / span 2}.-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-2{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-1{margin-left:.25rem}.ml-10{margin-left:2.5rem}.ml-5{margin-left:1.25rem}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-7{margin-top:1.75rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.size-5{width:1.25rem;height:1.25rem}.h-1{height:.25rem}.h-1\/2{height:50%}.h-1\/4{height:25%}.h-10{height:2.5rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2\.5{height:.625rem}.h-3{height:.75rem}.h-3\/4{height:75%}.h-4{height:1rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-\[160px\]{height:160px}.h-\[220px\]{height:220px}.h-\[300px\]{height:300px}.h-\[360px\]{height:360px}.h-\[70vw\]{height:70vw}.h-auto{height:auto}.h-fit{height:-moz-fit-content;height:fit-content}.h-full{height:100%}.h-screen{height:100vh}.max-h-\[500px\]{max-height:500px}.max-h-\[70vh\]{max-height:70vh}.min-h-\[1\.6em\]{min-height:1.6em}.min-h-screen{min-height:100vh}.w-1{width:.25rem}.w-10{width:2.5rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-20{width:5rem}.w-32{width:8rem}.w-4{width:1rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-\[160px\]{width:160px}.w-\[220px\]{width:220px}.w-\[2px\]{width:2px}.w-\[300px\]{width:300px}.w-\[360px\]{width:360px}.w-\[420px\]{width:420px}.w-\[51px\]{width:51px}.w-\[70vw\]{width:70vw}.w-auto{width:auto}.w-full{width:100%}.min-w-0{min-width:0px}.min-w-\[120px\]{min-width:120px}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-\[280px\]{max-width:280px}.max-w-\[500px\]{max-width:500px}.max-w-\[60px\]{max-width:60px}.max-w-md{max-width:28rem}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x: -50%;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))}.-translate-y-1\/2{--tw-translate-y: -50%;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 pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-pointer{cursor:pointer}.touch-manipulation{touch-action:manipulation}.resize{resize:both}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.gap-1{gap:.25rem}.gap-10{gap:2.5rem}.gap-12{gap:3rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-\[1px\]{gap:1px}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.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-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}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-\[14px\]{border-radius:14px}.rounded-\[24px\]{border-radius:24px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-0{border-width:0px}.border-\[\#1cd8d2\]\/25{border-color:#1cd8d240}.border-green-500\/30{border-color:#22c55e4d}.border-white\/10{border-color:#ffffff1a}.border-white\/20{border-color:#fff3}.border-white\/30{border-color:#ffffff4d}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))}.bg-gray-300\/80{background-color:#d1d5dbcc}.bg-green-500\/20{background-color:#22c55e33}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/10{background-color:#ffffff1a}.bg-white\/15{background-color:#ffffff26}.bg-white\/5{background-color:#ffffff0d}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.from-\[\#1cd8d2\]{--tw-gradient-from: #1cd8d2 var(--tw-gradient-from-position);--tw-gradient-to: rgb(28 216 210 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-\[\#1cd8d2\]\/20{--tw-gradient-from: rgb(28 216 210 / .2) var(--tw-gradient-from-position);--tw-gradient-to: rgb(28 216 210 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-\[\#302b63\]{--tw-gradient-from: #302b63 var(--tw-gradient-from-position);--tw-gradient-to: rgb(48 43 99 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-black\/30{--tw-gradient-from: rgb(0 0 0 / .3) var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-400{--tw-gradient-from: #60a5fa var(--tw-gradient-from-position);--tw-gradient-to: rgb(96 165 250 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-500{--tw-gradient-from: #3b82f6 var(--tw-gradient-from-position);--tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-600{--tw-gradient-from: #2563eb var(--tw-gradient-from-position);--tw-gradient-to: rgb(37 99 235 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-gray-700{--tw-gradient-from: #374151 var(--tw-gradient-from-position);--tw-gradient-to: rgb(55 65 81 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-green-400{--tw-gradient-from: #4ade80 var(--tw-gradient-from-position);--tw-gradient-to: rgb(74 222 128 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-orange-400{--tw-gradient-from: #fb923c var(--tw-gradient-from-position);--tw-gradient-to: rgb(251 146 60 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-purple-500{--tw-gradient-from: #a855f7 var(--tw-gradient-from-position);--tw-gradient-to: rgb(168 85 247 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-red-500{--tw-gradient-from: #ef4444 var(--tw-gradient-from-position);--tw-gradient-to: rgb(239 68 68 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-white\/5{--tw-gradient-from: rgb(255 255 255 / .05) var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-\[\#00bf8f\]{--tw-gradient-to: rgb(0 191 143 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #00bf8f var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-black\/10{--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(0 0 0 / .1) var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-\[\#1cd8d2\]{--tw-gradient-to: #1cd8d2 var(--tw-gradient-to-position)}.to-\[\#302b63\]{--tw-gradient-to: #302b63 var(--tw-gradient-to-position)}.to-\[\#302b63\]\/20{--tw-gradient-to: rgb(48 43 99 / .2) var(--tw-gradient-to-position)}.to-blue-600{--tw-gradient-to: #2563eb var(--tw-gradient-to-position)}.to-blue-800{--tw-gradient-to: #1e40af var(--tw-gradient-to-position)}.to-gray-900{--tw-gradient-to: #111827 var(--tw-gradient-to-position)}.to-green-500{--tw-gradient-to: #22c55e var(--tw-gradient-to-position)}.to-indigo-600{--tw-gradient-to: #4f46e5 var(--tw-gradient-to-position)}.to-orange-500{--tw-gradient-to: #f97316 var(--tw-gradient-to-position)}.to-pink-600{--tw-gradient-to: #db2777 var(--tw-gradient-to-position)}.to-purple-600{--tw-gradient-to: #9333ea var(--tw-gradient-to-position)}.to-purple-700{--tw-gradient-to: #7e22ce var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to: transparent var(--tw-gradient-to-position)}.to-white\/10{--tw-gradient-to: rgb(255 255 255 / .1) var(--tw-gradient-to-position)}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.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}.p-0{padding:0}.p-1{padding:.25rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-0{padding-left:0;padding-right:0}.px-10{padding-left:2.5rem;padding-right:2.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.pb-0{padding-bottom:0}.pb-1{padding-bottom:.25rem}.pb-3{padding-bottom:.75rem}.pb-5{padding-bottom:1.25rem}.pb-6{padding-bottom:1.5rem}.pb-8{padding-bottom:2rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.text-center{text-align:center}.align-middle{vertical-align:middle}.font-georama{font-family:Georama,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-6xl{font-size:3.75rem;line-height:1}.text-9xl{font-size:8rem;line-height:1}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-base{font-size:1rem;line-height:1.5rem}.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-extrabold{font-weight:800}.font-medium{font-weight:500}.font-semibold{font-weight:600}.italic{font-style:italic}.leading-relaxed{line-height:1.625}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.text-\[\#1cd8d2\]{--tw-text-opacity: 1;color:rgb(28 216 210 / var(--tw-text-opacity, 1))}.text-\[\#5f6266\]{--tw-text-opacity: 1;color:rgb(95 98 102 / var(--tw-text-opacity, 1))}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.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-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-gray-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.text-green-400{--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity, 1))}.text-orange-400{--tw-text-opacity: 1;color:rgb(251 146 60 / var(--tw-text-opacity, 1))}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.text-transparent{color:transparent}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-white\/80{color:#fffc}.text-white\/90{color:#ffffffe6}.text-yellow-400{--tw-text-opacity: 1;color:rgb(250 204 21 / var(--tw-text-opacity, 1))}.opacity-10{opacity:.1}.opacity-15{opacity:.15}.opacity-20{opacity:.2}.opacity-30{opacity:.3}.opacity-60{opacity:.6}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--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_2px_8px_rgba\(0\,0\,0\,0\.5\)\]{--tw-shadow: 0 2px 8px rgba(0,0,0,.5);--tw-shadow-colored: 0 2px 8px 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_8px_32px_rgba\(0\,0\,0\,0\.4\)\,0_2px_8px_rgba\(255\,255\,255\,0\.1\)_inset\]{--tw-shadow: 0 8px 32px rgba(0,0,0,.4),0 2px 8px rgba(255,255,255,.1) inset;--tw-shadow-colored: 0 8px 32px var(--tw-shadow-color), inset 0 2px 8px 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 rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.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)}.blur-\[100px\]{--tw-blur: blur(100px);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)}.blur-\[120px\]{--tw-blur: blur(120px);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)}.blur-\[140px\]{--tw-blur: blur(140px);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)}.blur-md{--tw-blur: blur(12px);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-lg{--tw-drop-shadow: drop-shadow(0 10px 8px rgb(0 0 0 / .04)) drop-shadow(0 4px 3px rgb(0 0 0 / .1));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-md{--tw-drop-shadow: drop-shadow(0 4px 3px rgb(0 0 0 / .07)) drop-shadow(0 2px 2px rgb(0 0 0 / .06));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)}.invert{--tw-invert: invert(100%);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-2xl{--tw-backdrop-blur: blur(40px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-md{--tw-backdrop-blur: blur(12px);-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,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}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.delay-300{transition-delay:.3s}.delay-500{transition-delay:.5s}.duration-150{transition-duration:.15s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.will-change-transform{will-change:transform}.flex-center{display:flex;align-items:center;justify-content:center}#macbook-portfolio{width:100%;height:100%;overflow:hidden;background-image:url(/images/wallpaper.png);background-size:cover;background-repeat:no-repeat;background-position:center}.hover\:scale-105:hover{--tw-scale-x: 1.05;--tw-scale-y: 1.05;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\:scale-125:hover{--tw-scale-x: 1.25;--tw-scale-y: 1.25;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-gray-200:hover{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.hover\:bg-white\/20:hover{background-color:#fff3}.hover\:opacity-90:hover{opacity:.9}.hover\:brightness-110:hover{--tw-brightness: brightness(1.1);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.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)) skew(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)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@media(min-width:640px){.sm\:h-16{height:4rem}.sm\:h-\[50vw\]{height:50vw}.sm\:w-16{width:4rem}.sm\:w-\[500vw\]{width:500vw}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:gap-3{gap:.75rem}.sm\:gap-4{gap:1rem}.sm\:pb-6{padding-bottom:1.5rem}.sm\:text-2xl{font-size:1.5rem;line-height:2rem}.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}.sm\:text-5xl{font-size:3rem;line-height:1}.sm\:text-6xl{font-size:3.75rem;line-height:1}.sm\:text-lg{font-size:1.125rem;line-height:1.75rem}.sm\:text-xl{font-size:1.25rem;line-height:1.75rem}.sm\:opacity-20{opacity:.2}.sm\:blur-\[130px\]{--tw-blur: blur(130px);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)}}@media(min-width:768px){.md\:h-\[200px\]{height:200px}.md\:h-\[40vw\]{height:40vw}.md\:w-\[200px\]{width:200px}.md\:w-\[40vw\]{width:40vw}.md\:max-w-3xl{max-width:48rem}.md\:flex-row{flex-direction:row}.md\:items-stretch{align-items:stretch}.md\:justify-start{justify-content:flex-start}.md\:px-10{padding-left:2.5rem;padding-right:2.5rem}.md\:text-left{text-align:left}.md\:text-3xl{font-size:1.875rem;line-height:2.25rem}.md\:text-6xl{font-size:3.75rem;line-height:1}.md\:text-7xl{font-size:4.5rem;line-height:1}.md\:text-xl{font-size:1.25rem;line-height:1.75rem}.md\:opacity-10{opacity:.1}.md\:blur-\[150px\]{--tw-blur: blur(150px);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)}}@media(min-width:1024px){.lg\:mx-0{margin-left:0;margin-right:0}.lg\:justify-start{justify-content:flex-start}.lg\:whitespace-nowrap{white-space:nowrap}.lg\:px-12{padding-left:3rem;padding-right:3rem}.lg\:pr-24{padding-right:6rem}.lg\:text-4xl{font-size:2.25rem;line-height:2.5rem}.lg\:text-7xl{font-size:4.5rem;line-height:1}.lg\:text-8xl{font-size:6rem;line-height:1}}
