*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{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,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.-inset-y-5{top:-1.25rem;bottom:-1.25rem}.bottom-0{bottom:0}.left-5{left:1.25rem}.right-0{right:0}.top-\[-15px\]{top:-15px}.z-10{z-index:10}.z-50{z-index:50}.z-\[100\]{z-index:100}.z-\[99\]{z-index:99}.m-0{margin:0}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.-mb-3{margin-bottom:-.75rem}.-mr-1{margin-right:-.25rem}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.mr-0{margin-right:0}.mr-2{margin-right:.5rem}.mr-2\.5{margin-right:.625rem}.mr-5{margin-right:1.25rem}.mt-0\.5{margin-top:.125rem}.box-border{box-sizing:border-box}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.size-6{width:1.5rem;height:1.5rem}.h-1{height:.25rem}.h-11{height:2.75rem}.h-3{height:.75rem}.h-4{height:1rem}.h-8{height:2rem}.h-auto{height:auto}.h-full{height:100%}.h-screen{height:100vh}.max-h-\[75vh\]{max-height:75vh}.max-h-\[80vh\]{max-height:80vh}.min-h-0{min-height:0}.w-11{width:2.75rem}.w-24{width:6rem}.w-3{width:.75rem}.w-4{width:1rem}.w-auto{width:auto}.w-full{width:100%}.w-px{width:1px}.w-screen{width:100vw}.min-w-0{min-width:0}.max-w-\[95\%\]{max-width:95%}.flex-1{flex:1 1 0%}.flex-shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.translate-y-0{--tw-translate-y:0px}.translate-y-0,.translate-y-4{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{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))}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)}}.animate-bounce{animation:bounce 1s infinite}.cursor-grab{cursor:grab}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-content-start{place-content:start}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-3{gap:.75rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-1{row-gap:.25rem}.gap-y-3{row-gap:.75rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-clip{overflow:clip}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overscroll-contain{overscroll-behavior:contain}.rounded-\[0\.375em\]{border-radius:.375em}.rounded-\[10px\]{border-radius:10px}.rounded-\[25px\]{border-radius:25px}.rounded-full{border-radius:9999px}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-t-\[28px\]{border-top-left-radius:28px;border-top-right-radius:28px}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-r{border-right-width:1px}.border-dashed{border-style:dashed}.border-dotted{border-style:dotted}.border-\[var\(--bg-hover\)\]{border-color:var(--bg-hover)}.border-\[var\(--border-light\)\]{border-color:var(--border-light)}.border-\[var\(--border-secondary\)\]{border-color:var(--border-secondary)}.bg-\[rgba\(0\2c 0\2c 0\2c 0\.4\)\]{background-color:rgba(0,0,0,.4)}.bg-\[var\(--bg-hover\)\]{background-color:var(--bg-hover)}.bg-\[var\(--bg-primary\)\]{background-color:var(--bg-primary)}.bg-\[var\(--border-secondary\)\]{background-color:var(--border-secondary)}.bg-black\/30{background-color:rgba(0,0,0,.3)}.bg-black\/60{background-color:rgba(0,0,0,.6)}.bg-transparent{background-color:transparent}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-\[0\.1875em\]{padding:.1875em}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.pb-1{padding-bottom:.25rem}.pb-1\.5{padding-bottom:.375rem}.pb-12{padding-bottom:3rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-6{padding-bottom:1.5rem}.pt-3{padding-top:.75rem}.pt-6{padding-top:1.5rem}.pt-\[15vh\]{padding-top:15vh}.text-left{text-align:left}.text-center{text-align:center}.font-sans{font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.text-\[15px\]{font-size:15px}.text-base{font-size:1rem;line-height:1.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-sm\/tight{font-size:.875rem;line-height:1.25}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.uppercase{text-transform:uppercase}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-\[var\(--border-secondary\)\]{color:var(--border-secondary)}.text-\[var\(--text-body\)\]{color:var(--text-body)}.text-\[var\(--text-muted\)\]{color:var(--text-muted)}.text-\[var\(--text-primary\)\]{color:var(--text-primary)}.text-\[var\(--text-subtle\)\]{color:var(--text-subtle)}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-60{opacity:.6}.mix-blend-multiply{mix-blend-mode:multiply}.shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-2xl,.shadow-lg{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 rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-white\/10{--tw-ring-color:hsla(0,0%,100%,.1)}.blur{--tw-blur:blur(8px)}.blur,.drop-shadow-md{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 rgba(0,0,0,.07)) drop-shadow(0 2px 2px rgba(0,0,0,.06))}.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-sm{--tw-backdrop-blur:blur(4px)}.backdrop-blur-sm,.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-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}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}*,:after,:before{margin-block:0;padding:0;text-rendering:optimizeLegibility;box-sizing:border-box}[x-cloak]{display:none}:root{--bg-primary:#faf9f9;--bg-primary-rgb:250 249 249;--bg-navbar:hsla(0,9%,98%,.7);--bg-hover:#e6e5e5;--text-primary:#0d0d0d;--color-accent:#e09f3e;--color-accent-rgb:224,159,62;--text-body:#292929;--text-subtle:#707070;--text-muted:#4d4c4c;--bg-avatar:hsla(0,0%,100%,.15);--border-primary:#404040;--border-secondary:#aeaeae;--border-light:#d9d9d9;--border-light-hover:var(--border-secondary);--bg-tag:#f0f0f0;--swiper-active:#fff;--swiper-inactive:hsla(0,0%,100%,.75);--bg-table-stripe:#f6f6f6;--font-sans:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI Variable Display",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-serif:"Libre Baskerville",serif;--font-mono:ui-monospace,"SF Mono",Monaco,"Cascadia Code","Roboto Mono",Consolas,monospace;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:0.9375rem;--text-lg:1rem;--text-xl:1.125rem;--text-2xl:1.25rem;--text-3xl:1.5rem;--text-4xl:1.625rem;--text-5xl:2rem;--font-normal:400;--font-medium:500;--font-semibold:600;--leading-tight:1.125;--leading-normal:1.5;--tracking-tight:-0.0125rem;--tracking-base:-0.00625rem;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-14:3.5rem;--space-16:4rem;--space-24:6rem;--radius-sm:0.25rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-full:9999px}.dark{--bg-primary:#0f0f0f;--bg-primary-rgb:15 15 15;--bg-navbar:hsla(0,0%,6%,.7);--bg-hover:#262626;--text-primary:#f2f2f2;--color-accent:#e09f3e;--color-accent-rgb:224,159,62;--text-body:#e0e0e0;--text-subtle:#8a8a8a;--text-muted:#c7c7c7;--bg-avatar:rgba(0,0,0,.15);--border-primary:#dcdcdc;--border-secondary:#646464;--border-light:#858585;--border-light-hover:#a0a0a0;--bg-tag:#282828;--bg-table-stripe:rgba(25,25,25,.5)}html{scroll-behavior:smooth}body{display:block;color:var(--text-primary);background-color:var(--bg-primary);font-family:var(--font-sans);font-size:var(--text-base);letter-spacing:var(--tracking-base);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;hanging-punctuation:first allow-end last;transition:background-color .4s ease-in-out,color .4s ease-in-out;overflow-x:hidden}body.lightbox-open{overflow:hidden;overscroll-behavior:contain}main{min-height:70vh;max-width:600px;margin:0 auto}.theme-transition{transition:background-color .4s ease-in-out,color .4s ease-in-out,border-color .4s ease-in-out}.menu,body footer,body h1,body h2,body h3,body h4{max-width:600px}body h1,body h2,body h3,body h4{font-weight:var(--font-medium);text-wrap:balance}body h4 .lucide{color:var(--text-subtle);margin-left:var(--space-1)}body a .lucide,body p .lucide{color:var(--text-subtle);margin-left:.3125rem;width:var(--space-5);min-width:var(--space-5);max-width:var(--space-5)}body strong{color:var(--text-primary);font-weight:var(--font-semibold);transition:color .4s ease-in-out}body em{font-family:var(--font-serif);font-size:var(--text-base);letter-spacing:normal;line-height:normal}body figcaption,body li,body ol,body p,body ul{color:var(--text-body);font-weight:var(--font-normal);max-width:600px;margin:var(--space-4) auto;text-wrap:pretty;transition:color .4s ease-in-out}body ul{margin:var(--space-2) auto var(--space-5)}body ol li,body ul li{margin:var(--space-2) 0 var(--space-2) var(--space-6)}body li{padding-left:var(--space-2)}.subtle,body li::marker{color:hsl(from var(--text-body) h s l/30%);transition:color .4s ease-in-out}body figcaption{color:var(--text-muted);text-align:center;font-size:.8125rem}hr.divider-standard{max-width:600px;height:0;border-top:1px dashed hsl(from var(--text-primary) h s l/20%);margin:var(--space-3) auto var(--space-8);transition:border-color .4s ease-in-out}a{display:inline;color:var(--text-subtle);text-decoration:underline;-webkit-text-decoration:underline;text-decoration-style:dashed;-webkit-text-decoration-style:dashed;text-decoration-color:hsl(from var(--text-body) h s l/30%);-webkit-text-decoration-color:hsl(from var(--text-body) h s l/30%);text-decoration-thickness:.0625rem;-webkit-text-decoration-thickness:.0625rem;text-underline-offset:var(--space-1);-webkit-text-underline-offset:var(--space-1);transition:all .12s ease-in-out}a:hover{color:var(--text-body);text-decoration-color:hsl(from var(--text-body) h s l/50%);-webkit-text-decoration-color:hsl(from var(--text-body) h s l/40%)}a h4{color:var(--text-primary);transition:color .4s ease-in-out}p.hero-links a{margin-right:var(--space-5);margin-bottom:var(--space-1)}p.hero-links a:hover,p.hero-links a:hover .lucide{color:var(--text-body)}a.link-with-icon{display:inline-flex;align-items:center;text-decoration:none;-webkit-text-decoration:none}a.link-with-icon:hover .lucide{color:var(--text-body);transition:color .12s ease-in-out}a.link-with-icon:not(:hover) .lucide{transition:color .12s ease-in-out,transition-delay .12s}.site-navigation{position:sticky;top:0;left:0;right:0;background-color:var(--bg-navbar);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);z-index:98;transition:background-color .4s ease-in-out;padding-top:0;transform:translateZ(0);backface-visibility:hidden;contain:paint}.navigation-container{display:flex;margin-inline:auto;justify-content:space-between;align-items:center;max-width:600px;padding:var(--space-3) 0}.navigation-left{display:flex;align-items:center;margin-left:0}.navigation-left .navigation-brand{display:flex;align-items:center;color:var(--text-primary);font-weight:var(--font-semibold);margin-right:var(--space-6);transition:all .12s ease-in-out;text-decoration:none}.navigation-left .navigation-brand .back{color:inherit;transition:color .12s ease-in-out}.navigation-left .navigation-brand:hover .back{color:inherit}.navigation-left .navigation-brand:hover{color:var(--text-subtle);text-decoration-line:none;-webkit-text-decoration-line:none}.navigation-right{display:flex;align-items:center;margin-right:0}.navigation-links{display:flex}.navigation-links a{color:var(--text-primary);font-weight:var(--font-medium);text-decoration:none;-webkit-text-decoration:none;margin-right:var(--space-6);transition:all .12s ease-in-out}.navigation-links a:hover{color:var(--text-subtle)}@media (max-width:640px){[x-show=commandOpen] .px-4,[x-show=commandOpen] .sm\:px-0{padding-left:0;padding-right:0}[x-show=commandOpen] .md\:py-1,[x-show=commandOpen] .py-2\.5{padding-top:.5rem;padding-bottom:.5rem}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fadeInUp{animation:fadeInUp .4s cubic-bezier(.32,.72,0,1) .1s both}.back{height:calc(1lh - 6px);margin-right:var(--space-1);color:inherit;margin-left:0!important}.command{position:absolute;top:-15px;left:20px;display:flex;justify-content:center;align-items:center;padding:3px 15px;border-radius:var(--radius-full);border:2px solid var(--border-light);background:var(--bg-primary);line-height:normal;transition:none;z-index:9999}.command p{margin:0}.cv-auto{content-visibility:auto;contain-intrinsic-size:1000px}@supports (-webkit-touch-callout:none){@media (hover:none) and (pointer:coarse){.cv-auto{content-visibility:visible;contain-intrinsic-size:auto}}}.hero-avatar-wrapper{position:relative;display:inline-block;width:88px;height:88px}.hero-avatar{width:88px;height:88px;border-radius:33% 67% 40% 60%/66% 39% 61% 34%;box-shadow:0 .7px 1.9px -24px rgba(0,0,0,.124),0 1.7px 4.9px -24px rgba(0,0,0,.177),0 3.5px 9.9px -24px rgba(0,0,0,.223),0 7.3px 20.4px -24px rgba(0,0,0,.276),0 20px 56px -24px rgba(0,0,0,.4);opacity:.85;-o-object-fit:cover;object-fit:cover;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}.hero-avatar-layer{pointer-events:none}.email-tooltip-wrapper{display:inline-block;white-space:nowrap}.email-tooltip{position:absolute;background-color:var(--text-primary);color:var(--bg-primary);text-align:center;padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:var(--font-medium);visibility:hidden;transform:translateX(-50%);left:50%;bottom:calc(100% + 4px);transition:visibility 80ms ease-in-out}.email-tooltip-wrapper:hover .email-tooltip{visibility:visible}h1.hero-title{font-size:var(--text-3xl);font-weight:var(--font-normal);line-height:1.2;letter-spacing:var(--tracking-tight);text-wrap:pretty;max-width:28ch;margin-top:var(--space-6);margin-bottom:var(--space-4);margin-left:0}.hero-section{margin:var(--space-24) auto var(--space-8);max-width:600px}h1.main-title{font-size:var(--text-4xl);font-family:var(--font-serif);line-height:var(--leading-tight)}.page-header{margin:var(--space-24) auto var(--space-8)}h2.section-heading{font-size:1.4rem;font-family:var(--font-serif);line-height:var(--leading-tight);margin:var(--space-14) auto var(--space-3)}h2.section-title_process{font-size:var(--text-2xl);line-height:1;margin:var(--space-10) auto var(--space-2)}.hero-section p{max-width:44ch;margin-left:0}.hero-title-accent{font-family:var(--font-serif);color:var(--text-muted);line-height:normal;transition:color .4s ease-in-out}.text-italic{font-style:italic}.compact-heading{color:var(--text-primary);margin:var(--space-10) auto var(--space-4)}.posts-grid,.projects-grid{max-width:600px;margin:1.2rem auto 0}.project-card-title{line-height:var(--leading-normal);display:flex;align-items:center;margin:0}.project-card{display:flex;align-items:flex-start;gap:var(--space-4);text-decoration:none;-webkit-text-decoration:none;padding:var(--space-2) 0}.project-card-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0;margin-top:4px}.project-card-icon svg{width:18px;height:18px;color:var(--secondaryi)}div.project-card-content{display:flex;flex-direction:column;gap:.125rem;border:none;padding:0;margin-bottom:var(--space-2);transition:background-color .12s ease-in-out;flex-grow:1}p.project-card-description{color:var(--text-subtle);line-height:1.4;max-width:56ch;margin:0}a.project-card{text-decoration:none;-webkit-text-decoration:none}a.project-card:hover .lucide{color:var(--text-body);transform:translate(3px);transition:all .12s ease-in-out}a.project-card:not(:hover) .lucide{transform:translate(0);transition:all .12s ease-in-out,transition-delay .12s}.photos-view-all-link,.projects-view-all-link{border-radius:var(--radius-full);border:2px solid var(--border-light);padding:4px var(--space-3);transition:all .12s ease-in-out}.photos-view-all-link:hover,.projects-view-all-link:hover{border:2px solid var(--border-light-hover)}.posts-grid{margin-bottom:7px}.post-card{display:flex;flex-direction:column;align-items:flex-start;gap:0;width:100%;position:relative;overflow:hidden;padding:var(--space-2) 0 var(--space-3);outline:none;transition:none}.post-card-link{width:100%;gap:10px}.post-card-title{display:flex;align-items:center;margin-bottom:var(--space-2);text-decoration:underline;-webkit-text-decoration:underline}.post-card-title svg{position:relative;top:1px;width:18px;height:18px;margin-right:var(--space-2);color:var(--text-subtle);transition:color .12s ease-in-out}.post-card-separator{flex:1 1 0%;border:.5px solid hsl(from var(--text-primary) h s l/10%);position:relative}.post-card a:hover .post-card-separator{border-color:hsl(from var(--text-primary) h s l/15%)}.post-card-date{margin-left:auto}.music-widget{margin:var(--space-8) auto 0 auto;flex-direction:column;max-width:600px}.music-player,.music-widget{position:relative;display:flex;width:100%;box-sizing:border-box;gap:15px}.music-player{margin-inline:0;max-width:350px;border-radius:var(--radius-2xl);border:2px solid var(--border-secondary);align-items:center;padding:15px;justify-content:space-between;transition:all .12s ease-in-out}.music-album-cover{order:-1;width:70px;height:70px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.music-album-cover img{width:100%;height:100%;border-radius:12.5px;-o-object-fit:cover;object-fit:cover}.music-player-info{display:flex;flex-direction:column;flex-grow:1;overflow:hidden;white-space:normal}.music-track-title{color:var(--border-primary)!important;font-weight:var(--font-semibold);margin-bottom:.15rem!important;margin:0;overflow:hidden;transition:color .12s ease-in-out}.music-track-title a{color:var(--border-primary)}.music-track-artist{color:var(--border-secondary);line-height:1.2;font-size:var(--text-sm);margin:0;overflow:hidden;transition:color .12s ease-in-out}.music-player-label{position:absolute;top:-13px;left:20px;display:flex;justify-content:center;align-items:center;padding:3px 15px;border-radius:var(--radius-full);border:2px solid var(--border-light);background:var(--bg-primary);height:auto;line-height:normal;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,transform .15s ease-in-out}.music-player-label p{color:var(--border-primary);font-size:var(--text-xs);font-weight:var(--font-medium);margin:0;transition:color .12s ease-in-out}.music-player-status{width:35px;height:35px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-left:auto}.music-equalizer{position:relative;align-items:center;display:flex;height:20px;justify-content:space-between;overflow:hidden;width:25px}.music-equalizer-bar{position:absolute;bottom:0;width:2px;background-color:var(--border-secondary);transition:height .15s ease-in-out,background-color .12s ease-in-out;will-change:height;transform-origin:bottom;height:10%}.music-equalizer-bar:first-child{left:0}.music-equalizer-bar:nth-child(2){left:5px}.music-equalizer-bar:nth-child(3){left:10px}.music-equalizer-bar:nth-child(4){left:15px}.music-equalizer-bar:nth-child(5){left:20px}.music-equalizer-bar:first-child{animation:equaliser-wave 2s ease-in-out 1s infinite alternate}.music-equalizer-bar:nth-child(2){animation:equaliser-wave 2s ease-in-out .5s infinite alternate}.music-equalizer-bar:nth-child(3){animation:equaliser-wave 2s ease-in-out 1.5s infinite alternate}.music-equalizer-bar:nth-child(4){animation:equaliser-wave 2s ease-in-out .25s infinite alternate}.music-equalizer-bar:nth-child(5){animation:equaliser-wave 2s ease-in-out .75s infinite alternate}@keyframes equaliser-wave{0%{height:10%}10%{height:30%}20%{height:50%}30%{height:20%}40%{height:70%}50%{height:90%}60%{height:30%}70%{height:80%}80%{height:50%}90%{height:30%}to{height:10%}}.location-widget{margin:var(--space-8) auto 0;flex-direction:column;max-width:600px}.location-display,.location-widget{position:relative;display:flex;width:100%;box-sizing:border-box;gap:15px}.location-display{margin-inline:0;align-items:left;max-width:350px;justify-content:space-between;transition:all .12s ease-in-out}.location-map{position:relative;display:inline-block;overflow:hidden;border-radius:var(--radius-2xl);z-index:2;border:2px solid var(--border-secondary);box-shadow:inset 0 0 29px 0 rgba(0,0,0,.8)}.location-display-label{position:absolute;top:-12px;left:22px;z-index:10;display:flex;justify-content:center;align-items:center;padding:3px 15px;border:2px solid var(--border-light);border-radius:var(--radius-full);background:linear-gradient(to top,rgb(var(--bg-primary-rgb)/.75) 0,rgb(var(--bg-primary-rgb)/.75) 25%,rgb(var(--bg-primary-rgb)/1) 45%,rgb(var(--bg-primary-rgb)/1) 100%);height:auto;line-height:normal;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,transform .15s ease-in-out}.location-display-label p{color:var(--border-primary);font-size:var(--text-xs);font-weight:var(--font-medium);margin:0;transition:color .12s ease-in-out}.location-map-cloud{position:absolute;opacity:.75;animation:cloud 120s linear infinite;filter:blur(4px)}.dark .location-map-cloud{opacity:.2;transition:filter .4s ease-in-out}.location-map-plane{position:absolute;transform:translateX(-384px);animation:plane 30s linear infinite;animation-delay:5s}.location-map-plane-shadow{position:absolute;transform:translateX(-384px);animation:plane-shadow 30s linear infinite;animation-delay:5s}.location-map-image{width:100%;height:100%;display:block;content:url(/src/assets/map/map_light.webp)}.dark .location-map-image{content:url(/src/assets/map/map_dark.webp)}.location-map-link{position:absolute;bottom:1px;right:1px;margin:var(--space-3);z-index:10;-webkit-user-select:none;-moz-user-select:none;user-select:none;border-radius:var(--radius-lg);border:0 solid var(--border-light-hover);background-color:rgb(var(--bg-primary-rgb)/.6);backdrop-filter:blur(1px);-webkit-backdrop-filter:blur(1px);-moz-backdrop-filter:blur(1px);padding:.375rem var(--space-2);font-size:var(--text-xs);color:var(--border-primary);text-decoration:none}.dark .location-map-link{background-color:rgb(var(--bg-primary-rgb)/.3);transition:background-color .4s ease-in-out}.location-map-marker-dot{width:var(--space-4);height:var(--space-4);animation:marker 4s ease-out infinite}.location-map-marker-dot,.location-map-marker-ring{position:absolute;left:35%;top:65%;z-index:2;transform:translate(-50%,-50%);border-radius:50%;background-color:#3b82f6}.location-map-marker-ring{width:1.75rem;height:1.75rem;border:4px solid #f9fafb;box-shadow:0 0 10px rgba(0,0,0,.3)}@keyframes cloud{0%{transform:translate(-350px,-350px)}25%{transform:translate(350px,350px)}50%{transform:translate(600px,-350px)}75%{transform:translate(-400px,350px)}to{transform:translate(-350px,-350px)}}@keyframes marker{0%{transform:translate(-50%,-50%) scale(1);opacity:1}35%{transform:translate(-50%,-50%) scale(6);opacity:0}to{transform:translate(-50%,-50%) scale(6);opacity:0}}@keyframes plane{0%{transform:translate(50px,350px) rotate(30deg)}40%{transform:translate(300px,-60px) rotate(30deg)}to{transform:translate(300px,-60px) rotate(30deg)}}@keyframes plane-shadow{0%{transform:translate(50px,410px) rotate(30deg)}40%{transform:translate(300px,-20px) rotate(30deg)}to{transform:translate(300px,-20px) rotate(30deg)}}@keyframes pulse{50%{opacity:.5}}.connect-widgets-grid{margin-top:var(--space-8);display:grid;grid-template-columns:1fr;grid-auto-rows:auto;gap:var(--space-6);width:100%;max-width:720px;margin-left:auto;margin-right:auto}.connect-widgets-stack{display:flex;flex-direction:column;gap:var(--space-6);width:100%}.connect-widgets-stack,.more-widget{grid-column:1/-1}.connect-widgets-stack .location-widget,.connect-widgets-stack .music-widget{margin:0;max-width:none;width:100%}.more-widget{display:flex;margin:0;width:100%;align-self:stretch}.more-panel{position:relative;flex:1 1 auto;border-radius:var(--radius-2xl);border:2px solid var(--border-secondary);padding:15px;flex-direction:column;align-items:stretch;height:100%;width:100%;max-width:350px!important;gap:var(--space-2);transition:all .12s ease-in-out}.more-panel,.more-panel-label{display:flex;justify-content:center}.more-panel-label{position:absolute;top:-13px;left:20px;align-items:center;padding:3px 15px;border-radius:var(--radius-full);border:2px solid var(--border-light);background:var(--bg-primary);line-height:normal;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,transform .15s ease-in-out}.more-panel-label p{color:var(--border-primary);font-size:var(--text-xs);font-weight:var(--font-medium);margin:0;transition:color .12s ease-in-out}.more-panel-content{flex:1 1 auto;width:100%;display:flex;align-items:stretch;justify-content:center}.more-links{--more-link-icon-size:2rem;--more-link-icon-size-hover:calc(var(--more-link-icon-size)*1.08);--more-link-icon-border-width:1px;--more-link-icon-border-width-hover:1.5px;--more-link-row-gap:var(--space-2);--more-link-title-size-base:var(--text-sm);--more-link-description-size-base:var(--text-xs);--more-link-icon-offset:calc(var(--space-3) + var(--more-link-icon-size)/2);list-style:none;display:flex;flex-direction:column;gap:var(--more-link-row-gap);margin:auto 0;padding:0;width:100%;position:relative}.more-links:before{content:"";position:absolute;top:calc(var(--space-2) + var(--more-link-icon-size)/2);bottom:calc(var(--space-2) + var(--more-link-icon-size)/2);left:var(--more-link-icon-offset);width:1px;border-radius:var(--radius-full);background:var(--border-secondary);pointer-events:none;z-index:0}.more-link-item{position:relative;z-index:1;margin:0;padding:0}.more-link-item:first-child,.more-link-item:nth-child(3){margin-bottom:var(--more-link-row-gap)}.more-link{--more-link-icon-size-current:var(--more-link-icon-size);--more-link-icon-border-width-current:var(--more-link-icon-border-width);--more-link-title-size-current:var(--more-link-title-size-base);--more-link-description-size-current:var(--more-link-description-size-base);display:grid;grid-template-columns:auto 1fr;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);color:inherit;text-decoration:none;transition:color .18s ease-in-out;background:none;position:relative;z-index:1;width:100%;margin:0}.more-link:is(:hover,:focus-visible,:focus-within){--more-link-icon-size-current:var(--more-link-icon-size-hover);--more-link-icon-border-width-current:var(
    --more-link-icon-border-width-hover
  );--more-link-title-size-current:calc(var(--more-link-title-size-base)*1.04);--more-link-description-size-current:calc(var(--more-link-description-size-base)*1.03)}.more-link:focus-visible{outline:2px solid var(--border-light-hover);outline-offset:2px}.more-link-icon{display:inline-flex;align-items:center;justify-content:center;width:var(--more-link-icon-size-current);height:var(--more-link-icon-size-current);border-radius:var(--radius-lg);border:var(--more-link-icon-border-width-current) solid var(--border-secondary);background:var(--bg-primary);color:var(--text-subtle);transition:width .34s cubic-bezier(.2,.8,.2,1),height .34s cubic-bezier(.2,.8,.2,1),border-width .34s cubic-bezier(.2,.8,.2,1),color .26s ease,background-color .26s ease;position:relative;z-index:1}.more-link-icon svg{width:calc(var(--more-link-icon-size-current)*.625);height:calc(var(--more-link-icon-size-current)*.625);transition:transform .32s cubic-bezier(.2,.8,.2,1)}.more-link-text{display:flex;flex-direction:column;gap:2px;margin:0}.more-link-title{font-size:var(--more-link-title-size-current);font-weight:var(--font-semibold);color:var(--text-primary);line-height:1.3;transition:font-size .3s cubic-bezier(.18,.9,.22,1)}.more-link-description{font-size:var(--more-link-description-size-current);font-weight:var(--font-normal);color:var(--text-subtle);line-height:1.3;transition:font-size .3s cubic-bezier(.18,.9,.22,1),color .26s ease}.more-links .lucide{margin-left:0;color:var(--text-primary)}@media (min-width:600px){.connect-widgets-grid{grid-template-columns:minmax(320px,2fr) minmax(220px,1fr);grid-template-areas:"stack more";align-items:stretch}.connect-widgets-stack,.more-widget{grid-column:auto}.connect-widgets-stack{grid-area:stack;justify-self:start;max-width:100%}.more-widget{grid-area:more;justify-self:stretch}.connect-widgets-stack .music-widget .music-player{width:100%;min-width:0}.connect-widgets-stack .location-widget .location-display{width:100%}.more-panel{height:100%;width:100%}}body footer{margin:var(--space-16) auto 0}footer .hero-links{gap:var(--space-4);width:100%;margin-bottom:.6rem;max-height:30px;overflow:visible}footer .hero-links,footer .hero-links p{display:flex;align-items:center;padding:0}footer .hero-links p{flex-wrap:wrap;margin:0}footer .hero-links .theme-toggle{display:flex;align-items:center;margin-left:auto;flex-shrink:0}footer .hero-links a{margin-right:var(--space-5);margin-bottom:var(--space-1)}footer .link-with-icon{display:inline-flex;align-items:center;gap:.2em}.email-tooltip-wrapper{display:inline-flex;align-items:center;position:relative}.footer-meta{display:flex;margin:0 auto;justify-content:space-between;align-items:center;border-top:1px solid hsl(from var(--text-primary) h s l/15%);padding:var(--space-2) 0 var(--space-12) 0;transition:border-color .4s ease-in-out}.footer-meta-left{display:inline-flex;align-items:center;gap:var(--space-1)}.footer-meta-left,.footer-meta-right{color:var(--text-subtle);font-size:.8125rem;letter-spacing:normal;margin:0}a.email-link:hover{text-decoration:none;-webkit-text-decoration:none;cursor:pointer}.email-link svg{width:14px;height:14px;margin-left:var(--space-1)}.theme-toggle{position:relative;z-index:50;width:auto;height:auto}.theme-toggle button{display:flex;align-items:center;justify-content:center;width:var(--space-6);height:var(--space-6);border-radius:var(--radius-lg);cursor:pointer;color:var(--text-subtle)}.theme-toggle button:hover{color:var(--text-primary)}.theme-toggle [data-icon]{display:none}.theme-toggle[data-mode=dark] [data-icon=dark],.theme-toggle[data-mode=light] [data-icon=light],.theme-toggle[data-mode=system] [data-icon=system]{display:block}hr.divider-thin{max-width:600px;height:0;border-top:1px solid hsl(from var(--text-primary) h s l/10%);margin:var(--space-2) auto;transition:border-color .4s ease-in-out}.now-status-item{max-width:600px}.text-center{text-align:center}.swiper{width:100vw;margin-left:calc(50% - 50vw)!important;height:clamp(250px,40vw,400px);cursor:grab;margin-bottom:var(--space-4)}.swiper:active{cursor:grabbing}.swiper-slide{display:flex;align-items:center;justify-content:center;transition:transform .4s ease}.swiper-slide,.swiper-slide-active{transform:scale(1)}.swiper-slide img{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.swiper-pagination{bottom:10px!important;left:50%!important;transform:translateX(-50%)!important;width:-moz-fit-content!important;width:fit-content!important;background-color:rgba(0,0,0,.2);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border-radius:20px;position:relative;height:24px;display:flex!important;align-items:center;justify-content:center}.pagination-viewport{--viewport-width:120px;width:var(--viewport-width);height:16px;overflow:hidden;position:relative;display:flex;align-items:center}.pagination-container{display:flex;align-items:center;gap:16px;transition:transform .3s ease;position:absolute}.pagination-indicator{width:var(--space-2);height:var(--space-2);border-radius:50%;background-color:hsla(0,0%,100%,.4);cursor:pointer;transition:all .3s ease;flex-shrink:0}.pagination-indicator.active{background-color:#fff;transform:scale(1.3);box-shadow:0 0 6px hsla(0,0%,100%,.4)}.pagination-indicator.edge{transform:scale(.7);opacity:.6}.pagination-indicator.edge.active{transform:scale(.9);opacity:1}.photos-view-all{display:flex;justify-content:center;margin:0 auto var(--space-12) auto}.photos-view-all-link{margin:0 auto!important}.about-profile-image{display:block;width:150px;height:300px;border-radius:var(--radius-lg);background-image:url(/about/me-still.png);background-size:cover;background-repeat:no-repeat;background-position:50%;transition:all .5s ease;opacity:.85;position:relative;box-shadow:0 10px 20px rgba(0,0,0,.1);float:left;margin-right:20px;margin-bottom:5px}.about-profile-image:hover{background-image:url(/about/me.gif)}.page-content-wrapper{max-width:600px;margin:0 auto}.about-page p{text-align:left}.contact-link-inline{display:inline-flex;align-items:center}.page-content-wrapper:after{content:"";display:table;clear:both}.animate-on-scroll{opacity:0;transform:translateY(30px)}.animate-on-scroll.visible{animation:fade-in-up .8s ease forwards}@keyframes fade-in-up{to{opacity:1;transform:translateY(0)}}.signature-section{display:block;margin:0 auto;max-width:600px;position:relative}.signature-canvas{display:flex;min-height:80px;max-width:-moz-fit-content;max-width:fit-content;justify-content:left;align-items:left;cursor:pointer;transition:all .6s ease;padding:20px;border-radius:24px}.signature-letter-templates{display:none}.signature-letter-lowercase,.signature-letter-uppercase{display:inline-block;max-height:65px;width:auto}.signature-letter-uppercase.signature-letter-p{margin:0 -12px 0 -3px}.signature-letter-uppercase.signature-letter-l{margin:0 -15px 0 -10px}.signature-letter-lowercase.signature-letter-i{margin:0 -3.5px 0 1px}.signature-letter-lowercase.signature-letter-e{margin:0 -4px 0 0}.signature-letter-lowercase.signature-letter-r{margin:0 -3px 0 -1px}.signature-letter-lowercase.signature-letter-o{margin:0 -2.5px 0 0}.signature-letter-lowercase.signature-letter-u{margin:0 -4.5px 0 0}.signature-letter-lowercase.signature-letter-s{margin:0 -4px}.signature-word-space{min-width:0}.signature-canvas svg path{stroke-linejoin:round;stroke-linecap:round;stroke-width:1.5;stroke:var(--border-primary);fill:none;transition:stroke-dashoffset .8s ease;stroke-dasharray:0;stroke-dashoffset:0}main>p.animate-on-scroll{margin-bottom:var(--space-12)}.someday-goals{max-width:640px;margin:0 auto;padding-left:var(--space-2);padding-right:var(--space-2)}.someday-goals h3{font-family:var(--font-serif);font-size:1.125rem;font-weight:400;color:var(--text-primary);margin-top:var(--space-16);margin-bottom:var(--space-6);letter-spacing:-.01em;position:relative;padding-left:0;border-left:none;display:flex;gap:var(--space-4);align-items:baseline;line-height:1.5}.someday-goals>.goal-section:first-of-type h3{margin-top:var(--space-12)}.goal-subtitle__number{font-size:1.05rem;letter-spacing:.05em;color:var(--text-muted);line-height:1;flex-shrink:0;padding-right:var(--space-1);opacity:.7;font-style:italic}.goal-subtitle__label,.goal-subtitle__number{font-family:var(--font-serif);font-weight:400}.goal-subtitle__label{flex:1;display:inline-block}.someday-goals p{margin-bottom:var(--space-6);line-height:1.7;padding-left:calc(1.05rem + var(--space-5))}.bucket-list__intro{padding-left:0;margin-top:var(--space-12);margin-bottom:var(--space-4)}.bucket-list{list-style:none;padding:0;margin-top:var(--space-3);margin-bottom:var(--space-10);margin-left:0;padding-left:var(--space-6)}.bucket-list .bucket-item{margin-bottom:var(--space-1);margin-left:0;display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-2) 0}.bucket-item__icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;color:var(--border-primary);flex-shrink:0;margin-top:2px}.bucket-item__icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.bucket-item__text{flex:1;line-height:1.7;color:var(--text-body)}.bucket-item--done .bucket-item__text{color:var(--text-subtle);font-weight:var(--font-normal)}.bucket-item--done .bucket-item__text strong{font-weight:inherit;color:inherit}.bucket-item--done .bucket-item__icon{color:var(--text-subtle)}@media (max-width:640px){.someday-goals h3{flex-direction:column;gap:var(--space-2);align-items:flex-start}.goal-subtitle__number{padding-right:0;font-size:.95rem}.goal-subtitle__label{line-height:1.5}.someday-goals p{padding-left:var(--space-4);line-height:1.65}.bucket-list__intro{padding-left:0}}.social-platforms-grid{margin:0 auto;font-size:var(--text-xl)}.social-platform-card{display:flex;align-items:center;padding:var(--space-3) 0}.social-platform-info{width:180px;display:flex;align-items:center;font-weight:var(--font-semibold);gap:var(--space-2);color:var(--brand-color)}.social-platform-icon{width:32px;height:32px;border-radius:6px;display:flex;align-items:center;justify-content:center;background-color:rgba(var(--brand-color-rgb),.1);transition:all .2s ease;flex-shrink:0}.social-platform-icon>svg{width:20px;height:20px;fill:var(--brand-color);stroke:none;opacity:.9}.social-platform-card:hover .social-platform-icon{background-color:rgba(var(--brand-color-rgb),.25)}.social-platform-handle{flex:1;text-align:left;padding-left:var(--space-3)}.social-platform-handle p{color:var(--text-subtle);padding:0;margin:0}.social-platform-action{flex-shrink:0;display:inline-flex;align-items:center;gap:0;color:var(--text-muted);text-decoration:none;transition:color .12s ease-in-out}.social-platform-action>svg{width:16px;height:16px;stroke:var(--text-muted);fill:none;transition:transform .12s ease-in-out}.social-platform-action:hover{color:var(--text-body);text-decoration:underline;text-decoration-color:var(--text-body)}.social-platform-action:hover>svg{transform:translate(3px,-3px);stroke:var(--text-body)}.discord .social-platform-icon>svg{width:22px;height:22px}.medium .social-platform-icon>svg{width:24px;height:24px}.dark .social-platform-icon{background-color:rgba(var(--brand-color-rgb),.15)}:root{.email-adress{--brand-color:#000;--brand-color-rgb:0,0,0}.github{--brand-color:#181717;--brand-color-rgb:24,23,23}.linkedin{--brand-color:#0a66c2;--brand-color-rgb:10,102,194}.medium{--brand-color:#000;--brand-color-rgb:0,0,0}.instagram{--brand-color:#c13584;--brand-color-rgb:193,53,132}.discord{--brand-color:#404eed;--brand-color-rgb:64,78,237}.lastfm{--brand-color:#d51007;--brand-color-rgb:213,16,7}.babelio{--brand-color:#d99b06;--brand-color-rgb:217,155,6}.letterboxd{--brand-color:#202830;--brand-color-rgb:32,40,48}}.dark{.email-adress,.github{--brand-color:#fff;--brand-color-rgb:255,255,255}.linkedin{--brand-color:#0a66c2;--brand-color-rgb:10,102,194}.medium{--brand-color:#fff;--brand-color-rgb:255,255,255}.instagram{--brand-color:#e4405f;--brand-color-rgb:228,64,95}.discord{--brand-color:#5865f2;--brand-color-rgb:88,101,242}.lastfm{--brand-color:#ff1919;--brand-color-rgb:255,25,25}.babelio{--brand-color:#fbb91e;--brand-color-rgb:251,185,30}.letterboxd{--brand-color:#fff;--brand-color-rgb:255,255,255}}.page-subtitle{font-size:1.075rem;font-family:var(--font-serif);line-height:var(--leading-tight);margin:var(--space-6) auto var(--space-3)}.credits-grid{max-width:600px;margin:var(--space-8) auto var(--space-16);padding-left:15px;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-3)}.credits-grid a:before{position:absolute;content:"‒";left:-1em}.certification-badges{width:100%;max-width:600px;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:var(--space-2);margin-top:var(--space-4)}.certification-badges .carbon-badge{height:150px;width:auto;border-radius:var(--radius-xl)}.colophon section>h3{font-weight:var(--font-semibold);margin-top:2.5rem;margin-bottom:0}.colophon #sustainability:before,.colophon section>h3:after{background:hsl(from var(--text-body) h s l/30%)!important}.colophon section>h3 .lucide{color:var(--text-subtle)}.projects-showcase{margin:var(--space-14) auto var(--space-3);gap:var(--space-10)}.project-showcase-card,.projects-showcase{max-width:600px;display:flex;flex-direction:column}.project-showcase-card{gap:var(--space-4);padding-bottom:var(--space-8);border-bottom:1px solid hsl(from var(--text-primary) h s l/10%)}.project-showcase-card:last-child{border-bottom:none}.project-showcase-content{display:flex;flex-direction:column;gap:.2rem;max-width:600px;margin-top:var(--space-2)}.project-showcase-content h2{margin-top:var(--space-4);font-size:var(--text-xl)}.project-showcase-content p{margin-bottom:.6rem}.project-showcase-meta{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--space-4)}.project-tech-stack{display:flex;flex-wrap:wrap;gap:var(--space-2)}.project-tech-stack span{font-size:var(--text-xs);padding:var(--space-1) var(--space-2);background-color:var(--bg-tag);border-radius:24px;color:var(--text-subtle)}.project-action-buttons{display:flex;gap:var(--space-3)}.project-action-button{display:inline-flex;align-items:center;gap:.1rem;font-size:var(--text-sm);text-decoration:none;color:var(--border-secondary);border-radius:var(--radius-sm);padding:.3rem .6rem;transition:all .2s ease}.project-action-button svg{transition:transform .2s ease;color:currentColor!important}.project-action-button:hover svg{transform:translateX(2px)}.project-action-button.visit,.project-action-button.visit svg{color:var(--text-subtle)}.project-action-button:hover{background-color:var(--bg-hover);color:var(--text-body)}.project-preview-gallery{display:flex;gap:var(--space-3);flex-wrap:wrap}.project-preview-image{width:130px;height:80px;-o-object-fit:cover;object-fit:cover;border-radius:var(--radius-sm);cursor:pointer;transition:transform .2s ease,opacity .2s ease;border:1px solid var(--border-light)}.project-preview-image:hover{transform:scale(1.05);opacity:.9}img[data-lightbox-item]{cursor:zoom-in}.image-lightbox{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:clamp(var(--space-4),6vw,var(--space-8));background:rgba(3,4,8,.6);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .16s ease,visibility .16s ease;z-index:1200}.image-lightbox.is-active{opacity:1;visibility:visible;pointer-events:auto}.image-lightbox__backdrop{position:absolute;inset:0;cursor:zoom-out}.image-lightbox__shell{position:relative;z-index:1;display:grid;grid-template-rows:minmax(0,1fr) auto;align-items:center;justify-items:center;width:min(82vw,960px);height:min(82vh,680px);padding:clamp(var(--space-3),4vw,var(--space-5));gap:clamp(var(--space-3),3vw,var(--space-4))}.image-lightbox__close{position:fixed;top:clamp(var(--space-2),2vw,var(--space-3));right:clamp(var(--space-2),2vw,var(--space-3));width:clamp(44px,5vw,56px);height:clamp(44px,5vw,56px);padding:var(--space-2);border:none;background:none;color:hsla(0,0%,100%,.85);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .15s ease,color .15s ease;z-index:1300}.image-lightbox__close:focus-visible,.image-lightbox__close:hover{color:#fff;transform:scale(1.05)}.image-lightbox__close:focus-visible{outline:2px solid hsla(0,0%,100%,.5);outline-offset:2px}.image-lightbox__close svg{width:20px;height:20px}.image-lightbox__stage{position:relative;width:100%;gap:clamp(var(--space-3),3vw,var(--space-5))}.image-lightbox__figure,.image-lightbox__stage{height:100%;min-height:0;display:flex;align-items:center;justify-content:center}.image-lightbox__figure{margin:0;flex:1 1 auto;min-width:0}.image-lightbox__image{max-width:min(100%,76vw);max-height:min(100%,72vh);-o-object-fit:contain;object-fit:contain;border:none;border-radius:var(--radius-md);box-shadow:none}.image-lightbox__caption{display:none!important}.image-lightbox__nav{display:inline-flex;align-items:center;justify-content:center;flex:0 0 clamp(44px,5vw,56px);height:clamp(44px,5vw,56px);padding:var(--space-2);border:none;background:none;color:hsla(0,0%,100%,.85);cursor:pointer;transition:transform .15s ease,color .15s ease}.image-lightbox__nav:focus-visible,.image-lightbox__nav:hover{color:#fff}.image-lightbox__nav:focus-visible{outline:2px solid hsla(0,0%,100%,.45);outline-offset:2px}.image-lightbox__nav svg{width:clamp(20px,3vw,26px);height:clamp(20px,3vw,26px)}.image-lightbox__nav--prev:hover{transform:translateX(-3px)}.image-lightbox__nav--next:hover{transform:translateX(3px)}.image-lightbox__nav[disabled]{opacity:.25;pointer-events:none}.image-lightbox__thumbnail-bar{width:100%;display:flex;justify-content:center;align-items:center;gap:var(--space-2);overflow-x:auto;padding:var(--space-1) var(--space-2);scroll-padding-left:var(--space-2)}.image-lightbox__thumbnail-bar::-webkit-scrollbar{height:6px}.image-lightbox__thumbnail-bar::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.25);border-radius:var(--radius-full)}.image-lightbox__thumbnail{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:40px;border-radius:var(--radius-sm);border:1px solid hsla(0,0%,100%,.25);padding:0;background:none;cursor:pointer;transition:transform .12s ease,border-color .12s ease,opacity .12s ease;opacity:.6;overflow:hidden}.image-lightbox__thumbnail img{display:block;max-height:48px;max-width:72px;width:auto;height:auto;-o-object-fit:contain;object-fit:contain;border-radius:inherit}.image-lightbox__thumbnail:hover{transform:translateY(-2px);opacity:.85}.image-lightbox__thumbnail:focus-visible{outline:2px solid hsla(0,0%,100%,.5);outline-offset:2px;opacity:1}.image-lightbox__thumbnail.is-active{border-color:hsla(0,0%,100%,.8);opacity:1;transform:translateY(-1px)}@media (max-width:900px){.image-lightbox__shell{width:min(90vw,720px);height:min(82vh,620px)}}@media (max-width:620px){.image-lightbox{padding:var(--space-3)}.image-lightbox__shell{width:min(94vw,640px);height:calc(100vh - var(--space-3)*2);max-height:96vh;padding:var(--space-3);gap:var(--space-3)}.image-lightbox__stage{display:grid;width:100%;grid-template-columns:minmax(0,1fr) auto auto;grid-template-rows:minmax(0,1fr) auto;-moz-column-gap:var(--space-2);column-gap:var(--space-2);row-gap:var(--space-2);align-items:center;justify-items:center}.image-lightbox__figure{grid-column:1/-1;grid-row:1;width:100%;align-self:stretch;justify-self:center}.image-lightbox__image{width:100%;height:100%;max-width:100%;max-height:100%}.image-lightbox__nav{width:clamp(44px,14vw,56px);height:clamp(44px,14vw,56px);padding:0}.image-lightbox__nav--prev{grid-column:2;grid-row:2;align-self:center;justify-self:center}.image-lightbox__nav--next{grid-column:3;grid-row:2;align-self:center;justify-self:center}.image-lightbox__thumbnail-bar{width:100%;justify-content:center;padding:var(--space-1) 0;gap:var(--space-2);overflow-x:auto;scroll-padding-left:var(--space-2)}.image-lightbox__nav svg{width:clamp(18px,6vw,22px);height:clamp(18px,6vw,22px)}}.tech-stack-sections{display:flex;flex-direction:column;margin:var(--space-12) auto;max-width:600px}.last-updated-block{max-width:600px;margin:var(--space-16) auto var(--space-8);text-align:center;padding-top:var(--space-6);transition:border-color .4s ease-in-out}.last-updated-block__dots{display:flex;justify-content:center;gap:var(--space-2)}.last-updated-block__dots span{width:3px;height:3px;background:var(--text-subtle);border-radius:50%;opacity:.5}.timeline-page{max-width:600px;margin:0 auto}.timeline-filters{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:var(--space-12) auto var(--space-4)}.timeline-filter{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;font-weight:var(--font-medium);transition:all .12s ease-in-out;border:1px solid var(--border-secondary);background-color:var(--bg-primary);border-radius:var(--radius-full);padding:var(--space-1) var(--space-2);font-size:var(--text-xs);color:var(--text-muted);text-decoration:none;cursor:pointer}.timeline-filter:last-child{margin-left:var(--space-5)}.timeline-filter:hover{border-color:var(--text-subtle);background-color:var(--bg-tag);color:var(--text-body)}.timeline-filter.active{background-color:var(--bg-hover);border-color:var(--text-primary);color:var(--text-primary)}.timeline-filter svg{width:var(--space-4);height:var(--space-4);margin-right:.35rem}.timeline-item[style*="display: none"]{margin:0}.content-timeline{border-top:1px solid hsl(from var(--text-primary) h s l/10%)}.content-timeline-header{display:flex}.content-timeline-year{width:10%;min-width:2ch}.content-timeline-month-header h3,.content-timeline-year h2{position:sticky;background-color:none;padding:var(--space-1) 0;font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--text-muted);font-weight:var(--font-medium);margin:var(--space-4) 0}.content-timeline-year h2{top:56px;z-index:11}.content-timeline-month-header h3{top:56px;z-index:10}.content-timeline-content{flex:1;display:flex;flex-direction:column}.content-timeline-month{display:flex;border-bottom:1px solid hsl(from var(--text-primary) h s l/10%)}.content-timeline-month:last-child{border-bottom:none}.content-timeline-month-header{width:10%;min-width:2ch}.content-timeline-month-items{flex:1;display:flex;flex-direction:column}.timeline-item{border-bottom:1px solid hsl(from var(--text-primary) h s l/10%)}.timeline-item:last-child{border-bottom:none}.timeline-item a{display:flex;flex-direction:column;padding:var(--space-4) var(--space-2);text-decoration:none;color:inherit;transition:all .12s ease-in-out}.timeline-item-title{display:flex;align-items:center;margin-bottom:var(--space-2)}.timeline-item-title svg{position:relative;top:2px;width:20px;height:20px;margin-right:var(--space-2);color:var(--text-subtle);transition:color .12s ease-in-out}.timeline-item-title .link-text{color:var(--text-primary);-webkit-text-decoration:underline solid var(--border-secondary);text-decoration:underline solid var(--border-secondary);transition:all .12s ease-in-out}.timeline-item a:hover .link-text{text-decoration-color:var(--text-primary)}.post-card a:hover svg,.timeline-item a:hover svg{color:var(--text-primary)}.external-link-icon{display:inline-flex;align-items:center;font-size:var(--text-sm);color:var(--text-subtle);text-decoration:none;transition:color .12s ease-in-out}.timeline-item a:hover .external-link-icon{color:var(--text-primary)}.external-link-icon svg{top:0!important;width:1.25em!important;height:1.25em!important;margin:0 0 0 .2em!important}.timeline-item-meta{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.timeline-item-meta img{width:18px;height:18px;border-radius:.125rem}.dark img[src="/src/assets/profile.png"]{filter:invert(1) hue-rotate(180deg)}.timeline-item-meta span{line-height:1.75;padding-bottom:2px}.timeline-item-description,.timeline-item-meta span{flex-shrink:0;font-size:var(--text-sm);color:var(--text-muted)}.timeline-item-description{margin-top:var(--space-3);border-left:2px solid var(--border-light);padding-left:var(--space-4)}#posts .timeline-item-description{margin-top:var(--space-1)}.timeline-item-preview{margin-top:var(--space-3);display:grid;gap:var(--space-2)}.timeline-item-preview figure{display:flex;flex-direction:column;overflow:hidden;margin:0;border-radius:var(--radius-md);background-color:var(--bg-tag);padding:0!important}.timeline-item-preview img{width:100%;height:auto;max-height:300px;-o-object-fit:cover;object-fit:cover;border-radius:inherit;transition:all .12s ease-in-out}.gallery-open .site-navigation,.gallery-open footer{display:none}.photos-view{max-width:600px;margin:0 auto}#photos-gallery-view{padding:var(--space-16) 0!important}.photos-intro{margin:var(--space-6) 0 var(--space-12)}.photos-intro p{font-size:var(--text-base);line-height:var(--leading-normal);color:var(--text-body)}.photos-filter-section{margin:var(--space-8) 0}.photos-filter-group{margin-bottom:var(--space-12)}.photos-filter-title{font-size:var(--text-xl);font-weight:var(--font-medium);color:var(--text-primary);margin-bottom:var(--space-4);text-align:left;font-family:var(--font-serif)}.photos-trip-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:var(--space-4);margin-top:var(--space-6)}.photo-trip-card{background:none;border:1px solid var(--border-light);border-radius:var(--radius-xl);padding:0;cursor:pointer;transition:all .18s ease-in-out;overflow:hidden;display:flex;flex-direction:column;max-width:240px}.photo-trip-card:hover{border-color:var(--border-secondary);background-color:var(--bg-hover)}.dark .photo-trip-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.3)}.photo-trip-preview{width:100%;aspect-ratio:4/3;overflow:hidden;background-color:var(--bg-hover)}.photo-trip-preview img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .28s ease-in-out}.photo-trip-card:hover .photo-trip-preview img{transform:scale(1.05)}.photo-trip-info{padding:var(--space-3) var(--space-4);display:flex;flex-direction:row;justify-content:space-between;align-items:center}.photo-trip-info h4{font-size:var(--text-base);font-weight:var(--font-medium);color:var(--text-primary)}.photo-trip-count{font-size:var(--text-xs);color:var(--text-subtle)}.photos-divider{display:flex;align-items:center;text-align:center;margin:var(--space-12) 0;position:relative}.photos-divider:after,.photos-divider:before{content:"";flex:1;height:1px;background:var(--border-light)}.photos-divider span{padding:0 var(--space-4);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-muted);font-style:italic;font-family:var(--font-serif)}.photos-category-list{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-6)}.photo-category-button{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background:none;border:1px solid var(--border-light);border-radius:var(--radius-xl);cursor:pointer;transition:all .15s ease-in-out;text-align:left;width:100%}.photo-category-button:hover{border-color:var(--border-secondary);background-color:var(--bg-hover)}.photo-category-button svg{width:20px;height:20px;flex-shrink:0;color:var(--text-subtle);transition:color .15s ease-in-out}.photo-category-button:hover svg{color:var(--text-body)}.photo-category-button span:nth-child(2){flex:1;font-size:var(--text-base);font-weight:var(--font-medium);color:var(--text-primary)}.photo-category-count{font-size:var(--text-xs);color:var(--text-subtle)}.photos-gallery-header{margin-bottom:var(--space-8)}.photos-back-button{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);background:none;border:1px solid var(--border-light);border-radius:var(--radius-full);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-body);transition:all .15s ease-in-out;margin-bottom:var(--space-6)}.photos-back-button:hover{border-color:var(--border-secondary);background-color:var(--bg-hover)}.photos-back-button svg{width:16px;height:16px;color:var(--text-subtle)}.photos-gallery-title{font-size:var(--text-4xl);font-weight:var(--font-medium);color:var(--text-primary);margin:0;font-family:var(--font-serif)}.photos-gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4);max-width:100%}@media (max-width:349px){.photos-gallery-grid{grid-template-columns:1fr}}.photos-gallery-column{display:flex;flex-direction:column;gap:var(--space-4)}.photos-gallery-item{position:relative;overflow:hidden;border-radius:var(--radius-lg);transition:transform .2s ease-in-out}.photos-gallery-item img{width:100%;height:auto;display:block;border-radius:var(--radius-lg);transition:transform .3s ease-in-out}article{line-height:var(--leading-normal);color:var(--text-body);transition:color .4s ease-in-out}article h1,article h2,article h3,article h4,article h5,article h6{color:var(--text-primary);font-weight:var(--font-medium);text-wrap:wrap;margin:var(--space-8) auto var(--space-4);transition:color .4s ease-in-out}article h1{font-size:var(--text-4xl);font-family:var(--font-serif);line-height:1.2;margin-top:var(--space-12);padding-bottom:var(--space-4);border-bottom:1px solid hsl(from var(--text-primary) h s l/12%);letter-spacing:-.02em}article .article-meta-data{display:flex;align-items:flex-end;gap:var(--space-2)}article .article-meta-data h1{margin:var(--space-8) 0 var(--space-4);flex:1}article .article-publish-date{padding-bottom:.5rem;white-space:nowrap}article h2{font-size:var(--text-3xl);font-family:var(--font-serif);line-height:var(--leading-tight);margin-top:var(--space-12);margin-bottom:var(--space-5)}article h3{font-size:var(--text-2xl);line-height:1.3;margin-top:var(--space-10);margin-bottom:var(--space-4)}article h4{font-weight:var(--font-semibold)}article h4,article h5,article h6{font-size:var(--text-base);line-height:var(--leading-normal);margin-top:var(--space-6)}article h5,article h6{font-weight:var(--font-medium);color:var(--text-subtle)}article p{font-size:var(--text-base);letter-spacing:.01em;line-height:1.7;color:var(--text-body);margin:var(--space-5) auto;max-width:65ch;text-wrap:pretty;-webkit-hyphens:auto;hyphens:auto}article p+p{margin-top:var(--space-4)}article a{color:var(--text-body);text-decoration:underline;text-decoration-style:solid;text-decoration-color:hsl(from var(--text-body) h s l/25%);text-decoration-thickness:.0625rem;text-underline-offset:.15em;transition:all .12s ease-in-out}article a:hover{color:var(--text-primary);text-decoration-color:var(--text-body)}article a:focus-visible{outline:2px solid var(--text-body);outline-offset:2px;border-radius:2px}article strong{color:var(--text-primary);font-weight:var(--font-semibold)}article em{font-family:var(--font-serif);font-size:inherit;letter-spacing:normal;line-height:normal}article u{text-decoration:underline;text-decoration-style:wavy;text-decoration-color:var(--text-subtle);text-underline-offset:.125rem}article del{text-decoration:line-through;color:var(--text-subtle)}article mark{background:linear-gradient(110deg,transparent 0,rgba(var(--color-accent-rgb),.2) 0,rgba(var(--color-accent-rgb),.3) 50%,rgba(var(--color-accent-rgb),.2) 100%,transparent 100%);padding:.1rem .3rem;border-radius:var(--radius-sm);position:relative;color:var(--text-primary)}article mark:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg,rgba(var(--color-accent-rgb),.1),transparent 60%);border-radius:var(--radius-sm);z-index:-1}article .subtle{color:hsl(from var(--text-body) h s l/30%)}article .article-meta-data{color:var(--text-muted);font-size:.8125rem}article code{font-family:var(--font-mono);color:var(--text-primary);padding:.125rem .375rem;border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:var(--font-medium)}article code,article pre{background-color:var(--bg-tag)}article pre{border-radius:var(--radius-md);padding:var(--space-5);margin:var(--space-8) auto;overflow-x:auto;position:relative;border:1px solid hsl(from var(--text-primary) h s l/8%)}article pre code{background:none;padding:0;text-shadow:none!important;font-size:var(--text-sm);line-height:var(--leading-normal)}article .token.comment{color:var(--text-subtle)}article .token.keyword{color:var(--color-accent);font-weight:var(--font-semibold)}article .token.string{color:var(--text-muted)}article .token.number{color:var(--color-accent)}article .token.function{color:var(--text-primary);font-weight:var(--font-medium)}article .token.operator{color:var(--text-body)}article .token.punctuation{color:var(--text-subtle)}code[class*=language-],pre[class*=language-]{background-color:var(--bg-tag)!important}.dark article code,.dark article pre,.dark code[class*=language-],.dark pre[class*=language-]{background-color:var(--bg-tag)!important;color:var(--text-primary)!important;text-shadow:none!important}.token.operator,.token.punctuation{background:none!important}article .article-math-display{margin:var(--space-6) auto;text-align:center;overflow-x:auto;color:var(--text-primary)}article .article-math-inline{color:var(--text-primary)}article blockquote{margin:var(--space-8) auto;padding-left:var(--space-6);border-left:3px solid hsl(from var(--text-primary) h s l/15%);color:var(--text-body);position:relative}article blockquote:before{content:"";position:absolute;left:-3px;top:0;width:3px;height:100%;background:linear-gradient(180deg,hsl(from var(--text-primary) h s l/20%),hsl(from var(--text-primary) h s l/5%))}article blockquote p{font-family:var(--font-serif);font-style:italic;font-size:var(--text-lg);line-height:1.65;margin:0}article .article-callout{background:var(--bg-tag);color:var(--text-body);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);margin:var(--space-6) auto;transition:background-color .4s ease-in-out}article .article-callout-inner{display:flex;align-items:flex-start;gap:var(--space-3)}article .article-callout .icon{flex:none;margin-top:.3rem;color:inherit}article .article-callout .icon svg{stroke:currentColor;width:var(--space-4);height:var(--space-4)}article .article-callout .content{font-size:var(--text-base);line-height:var(--leading-normal)}article .article-callout .content>*{margin:0}.dark article .article-callout{background:var(--bg-tag)}article hr{max-width:600px;height:0;border:none;border-top:1px solid hsl(from var(--text-primary) h s l/12%);margin:var(--space-12) auto;transition:border-color .4s ease-in-out}article :where(ul,ol){margin:var(--space-6) 0;line-height:1.7}article ul{list-style:disc}article ul ul{list-style:circle}article ul ul ul{list-style:square}article ol{list-style:decimal}article ol ol{list-style:lower-alpha}article ol ol ol{list-style:lower-roman}article li{margin:var(--space-3) 0;color:var(--text-body)}article :where(ul,ol)>li::marker{color:var(--text-subtle);font-weight:var(--font-semibold)}article li>:where(ul,ol){margin-top:var(--space-2);margin-bottom:var(--space-2)}article .article-contains-task-list,article .article-task-list{list-style:none;margin:var(--space-4) 0;padding-left:0}article .article-contains-task-list>li,article .article-task-list>li{margin:var(--space-2) 0}article .article-contains-task-list>li::marker,article .article-task-list>li::marker{content:""}article .article-task-list-checkbox{margin-right:var(--space-2);transform:translateY(1px)}article dl{margin:var(--space-4) 0}article dt{font-weight:var(--font-semibold)}article dd{margin:0 0 var(--space-2) var(--space-6)}article .article-task-list{list-style:none;padding-left:0;margin:var(--space-4) auto}article .article-task-list li{margin:var(--space-2) 0;padding-left:0;display:flex;align-items:flex-start;gap:var(--space-2)}article .article-task-list li:before{display:none}article .article-task-list input[type=checkbox]{margin-top:.2rem;accent-color:var(--color-accent);flex-shrink:0}article table{width:100%;border-collapse:collapse;margin:var(--space-6) auto;border-radius:var(--radius-sm);overflow:hidden;background-color:var(--bg-primary)}article th{text-align:left;font-weight:var(--font-medium);color:var(--text-primary);background-color:var(--bg-tag);border-bottom:1px solid var(--border-light)}article td,article th{padding:var(--space-3);font-size:var(--text-base)}article td{color:var(--text-body);border-bottom:1px solid hsl(from var(--border-light) h s l/50%)}article tbody tr:nth-child(2n){background-color:var(--bg-table-stripe)}article tbody tr:last-child td{border-bottom:none}article img{max-width:100%;height:auto;border-radius:var(--radius-md);margin:var(--space-8) auto;display:block;border:1px solid hsl(from var(--text-primary) h s l/10%);cursor:zoom-in;transition:all .12s ease-in-out}article img:hover{opacity:.95;box-shadow:0 4px 12px hsl(from var(--text-primary) h s l/8%)}article .article-embed{max-width:600px;width:100%;height:400px;border:none;border-radius:var(--radius-sm);display:block}.avatar-embed,.pixels-embed{height:600px!important}article video{max-width:100%;height:auto;display:block;margin:var(--space-6) auto;border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--bg-primary);accent-color:var(
    --color-accent
  );outline:none}article dl{margin:var(--space-4) auto}article dt{font-weight:var(--font-medium);color:var(--text-primary);margin:var(--space-4) 0 var(--space-2) 0;position:relative}article dd{margin:0 0 var(--space-4) var(--space-8);color:var(--text-body);position:relative}article dd:before{content:"";position:absolute;left:-1.5rem;top:.2rem;width:var(--space-4);height:var(--space-4);background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23707070' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m15 10 5 5-5 5'/%3E%3Cpath d='M4 4v7a4 4 0 0 0 4 4h12'/%3E%3C/svg%3E") no-repeat 50%;background-size:contain;opacity:.7}article sub,article sup{font-size:var(--text-xs);line-height:0;position:relative;vertical-align:baseline}article sub{bottom:-.25em}article sup{top:-.5em}article .article-footnote-ref{color:var(--text-body);text-decoration:none;font-weight:var(--font-medium);font-size:.8125rem;display:inline-flex;align-items:center;line-height:1;scroll-margin-top:100px}article .article-footnote-ref>a{text-decoration:none;color:inherit;cursor:pointer;display:inline-flex;padding:.1rem var(--space-1);border-radius:3px;transition:all .12s ease-in-out}article .article-footnote-ref>a:hover{background:var(--bg-hover)}article .article-footnotes{margin-top:var(--space-16);padding-top:var(--space-8);border-top:1px solid hsl(from var(--text-primary) h s l/8%)}article .article-footnotes ol{counter-reset:footnote-counter;list-style:none;padding-left:0;max-width:650px}article .article-footnotes li{font-size:var(--text-sm);line-height:1.65;color:var(--text-subtle);counter-increment:footnote-counter;display:grid;grid-template-columns:auto 1fr;gap:var(--space-3);margin-bottom:var(--space-5);margin-left:0;padding-left:0;scroll-margin-top:100px}article .article-footnotes li:before{content:counter(footnote-counter) ".";color:var(--text-body);font-weight:var(--font-medium);padding-top:.1em}article .article-footnotes li>*{grid-column:2;margin:0}article .article-footnote-backref{color:var(--text-muted);text-decoration:none;display:inline-flex;align-items:center;border-radius:3px;padding:.15rem var(--space-1);vertical-align:baseline;white-space:nowrap;transition:all .12s ease-in-out}article .article-footnote-backref svg{width:14px;height:14px;flex-shrink:0}article .article-footnote-backref:hover{background:var(--bg-hover);color:var(--text-body)}article .article-footnotes-separator,article hr.footnotes-sep{display:none}ul.article-contains-task-list,ul.article-task-list{list-style:none;margin:0;padding:0}li.article-task-list-item::marker,li.article-task-list-item:before{content:none!important}.article-task-list-item{margin-left:-.4em}.article-task-list-checkbox{margin-right:.4em}mjx-container{max-width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin}mjx-container[display=block]{max-width:600px;margin:1rem auto;padding:0}@media (max-width:640px){mjx-container[display=block]{max-width:100%;padding:0 1.25rem}}mjx-container::-webkit-scrollbar{height:6px}mjx-container::-webkit-scrollbar-thumb{background:var(--border-secondary);border-radius:9999px}@media screen and (max-width:768px){body{padding:0}.command{display:none}.navigation-container{padding-left:var(--space-5);padding-right:var(--space-5)}.article-embed,.photos-category-list,.photos-divider,.photos-gallery-grid,.photos-trip-grid,.project-action-buttons,.project-preview-gallery,.project-tech-stack,.projects-view-all,.signature,.social-platforms-grid,.tech-stack-sections,.timeline-page,article dl,article h5,article h6,body figure,body footer,body h1,body h2,body h3,body h4,body ol,body p,body ul{padding:0 var(--space-5)!important}.location-widget,.music-widget{padding:0 0 0 var(--space-5)!important}.more-widget{padding:0 var(--space-5) 0 0!important}article :where(ul,ol) p,article li p{padding-left:0!important;padding-right:0!important}.photo-trip-info h4{padding:0!important}.photos-gallery-column,.photos-gallery-grid{gap:var(--space-3)}.photos-back-button{margin-left:var(--space-5)!important;margin-right:var(--space-5)!important}.credits-grid{padding-left:calc(var(--space-5) + 15px)!important}.post-card,.project-card{padding:.3rem var(--space-5)}.project-card-description,.project-card-title{padding-left:0!important;padding-right:0!important}footer p.hero-links{padding:0}.footer-decoration{display:none}.about-profile-image,img.hero-avatar{margin-left:var(--space-5)}h1.main-title{margin:var(--space-16) auto var(--space-4)}.location-display-label p,.more-panel .more-link-item,.more-panel .more-links,.more-panel-label p,.music-player-label p,.music-track-artist,.music-track-title{padding:0!important}.footer-meta-left,.footer-meta-right,.hero-links p{padding:0!important;margin-right:0!important}.timeline-filter:last-child{margin-left:0}.social-platform-info{width:160px}article h1{font-size:var(--text-3xl);padding:0 0 var(--space-3) 0!important}article h2{font-size:var(--text-2xl)}article table{font-size:var(--text-sm)}article td,article th{padding:var(--space-2)}article .article-meta-data{padding:0 var(--space-5)}article .article-callout,article blockquote,article pre{margin-left:var(--space-5)!important;margin-right:var(--space-5)!important}article img,article table,article video{width:calc(100% - var(--space-10))}article blockquote p{padding:0}article .article-footnotes li{padding:0;margin:0}.image-lightbox-close{top:var(--space-4);right:var(--space-4);width:var(--space-10);height:var(--space-10);font-size:var(--text-3xl)}}@media screen and (max-width:640px){.site-navigation button[aria-label="Open command palette"]{display:block}.content-timeline-year{width:20%;min-width:4ch;padding-right:var(--space-4)}.content-timeline-month-header h3,.content-timeline-year h2{margin:var(--space-2) 0}.content-timeline-content{flex:1}.content-timeline-month{display:block;border-bottom:1px solid hsl(from var(--text-primary) h s l/10%)}.content-timeline-month:last-child{border-bottom:none}.content-timeline-month-header{width:100%;border-bottom:1px solid hsl(from var(--text-primary) h s l/10%)}.content-timeline-month-items{display:block}.timeline-item a{padding:var(--space-3) var(--space-2)}.full-year{display:inline}}@media (max-width:600px){.social-platform-handle{display:none}.social-platform-card{width:100%;justify-content:space-between}.social-platform-info{width:auto}.avatar-embed{height:750px!important}.location-widget,.more-widget,.music-widget{padding:0 var(--space-5)!important}.more-panel{padding:var(--space-4)}.more-panel-content{justify-content:center;align-items:stretch}.more-panel .more-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-1);width:100%;padding:0!important;margin:auto 0}.more-panel .more-links:before{display:none}.more-panel .more-link-item{flex:none;padding:0!important;margin:0}.more-panel .more-link-item:first-child,.more-panel .more-link-item:nth-child(3){margin:0}.more-panel .more-link{width:100%;gap:var(--space-2);padding:var(--space-2) var(--space-3)}.more-link,.more-link-item,.more-link-text{max-width:100%}.more-panel .more-link-icon{border:none}.location-widget .location-display,.more-widget .more-panel,.music-widget .music-player{width:100%;max-width:350px;margin:0}}@media (max-width:371px){.more-panel .more-links{grid-template-columns:1fr}}@media (max-width:480px){.location-widget,.more-widget,.music-widget{padding:0 var(--space-4)!important}.footer-meta{display:flex;flex-direction:column;align-items:start}.hero-links{text-align:left;margin:0}.location-display,.music-player{flex-direction:row;align-items:center;gap:10px}.music-album-cover{transform:translateY(2px);width:60px;height:60px}.music-player-info{margin-left:0;text-align:left;font-size:14px}.music-track-title{font-size:14px}.music-track-artist{font-size:var(--text-xs)}.music-player-status{margin-left:auto}.music-player-status,.music-player-status svg{width:30px;height:30px}.more-panel{padding:var(--space-3)}.location-display-label,.music-player-label{font-size:small;padding:2px var(--space-2)}.location-display-label p,.music-player-label p{padding:2px}.location-map-marker-dot{width:var(--space-4);height:var(--space-4)}.location-map-marker-ring{width:var(--space-6);height:var(--space-6)}@keyframes plane{0%{transform:translate(-50px,350px) rotate(30deg)}40%{transform:translate(200px,-60px) rotate(30deg)}to{transform:translate(200px,-60px) rotate(30deg)}}@keyframes plane-shadow{0%{transform:translate(-50px,410px) rotate(30deg)}40%{transform:translate(200px,-20px) rotate(30deg)}to{transform:translate(200px,-20px) rotate(30deg)}}.about-profile-image{width:auto;height:200px;float:none}.category-number{width:24px;height:24px;font-size:.6875rem}.category-title{font-size:var(--text-base)}.item-name{font-size:var(--text-sm)}.tech-stack-section{flex-direction:column;gap:var(--space-2);padding:var(--space-2) 0}.tech-stack-category{width:auto;margin-top:var(--space-8);margin-bottom:var(--space-2);position:relative}.tech-stack-separator{display:none}.tech-stack-items{gap:var(--space-3) var(--space-3)}.tech-stack-items a{line-height:normal}.content-timeline,.content-timeline-content,.content-timeline-header,.content-timeline-month,.content-timeline-month-items{display:block}.content-timeline-year{width:100%;padding-right:0;border-bottom:1px solid hsl(from var(--text-primary) h s l/10%)}.content-timeline-month-header h3{top:calc(56px + 1.8125rem)}.content-timeline-month-header{width:100%;border-bottom:1px solid hsl(from var(--text-primary) h s l/10%)}}@media (max-width:350px){.email-tooltip-wrapper{display:none}}@media (max-width:320px){.hero-links a{margin:5px!important}.music-player-status{display:none!important}.social-platforms-grid{font-size:var(--text-lg)}}@media (min-width:768px){.post-card{flex-direction:row;align-items:center;gap:var(--space-3)}.post__title{width:auto}}@media (min-width:640px){.full-year{display:none}}@media (max-width:375px){.photo-trip-card{max-width:100%!important;max-height:160px!important}}.placeholder\:text-\[var\(--border-secondary\)\]::-moz-placeholder{color:var(--border-secondary)}.placeholder\:text-\[var\(--border-secondary\)\]::placeholder{color:var(--border-secondary)}.placeholder\:text-\[var\(--text-subtle\)\]::-moz-placeholder{color:var(--text-subtle)}.placeholder\:text-\[var\(--text-subtle\)\]::placeholder{color:var(--text-subtle)}.hover\:bg-\[var\(--bg-hover\)\]:hover{background-color:var(--bg-hover)}.focus\:border-0:focus{border-width:0}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-0:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.active\:scale-\[0\.98\]:active{--tw-scale-x:0.98;--tw-scale-y:0.98;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\:cursor-grabbing:active{cursor:grabbing}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}@media (min-width:640px){.sm\:mr-2{margin-right:.5rem}.sm\:block{display:block}.sm\:inline{display:inline}.sm\:max-w-xl{max-width:36rem}.sm\:translate-y-0{--tw-translate-y:0px}.sm\:scale-100,.sm\:translate-y-0{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))}.sm\:scale-100{--tw-scale-x:1;--tw-scale-y:1}.sm\: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))}}@media (min-width:768px){.md\:w-28{width:7rem}.md\:gap-4{gap:1rem}.md\:py-4{padding-top:1rem;padding-bottom:1rem}}@media (prefers-color-scheme:dark){.dark\:mix-blend-normal{mix-blend-mode:normal}}.\[\&\>svg\]\:h-4>svg{height:1rem}.\[\&\>svg\]\:w-4>svg{width:1rem}.\[\&\>svg\]\:text-\[var\(--text-subtle\)\]>svg{color:var(--text-subtle)}