@import"https://fonts.googleapis.com/css2?family=Roboto+Flex:opsz,wght@8..144,100..1000&display=swap";.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}@layer root{:root{--font-fallback: system, -apple-system, "BlinkMacSystemFont", ".SFNSText-Regular", "San Francisco", "Roboto", "Segoe UI", "Helvetica Neue", "Lucida Grande", "Ubuntu", "arial", sans-serif;--font-body: "Roboto Flex", var(--font-fallback);--font-heading: "Roboto Flex", var(--font-fallback);--font-code: Menlo, Consolas, Monaco, Liberation Mono, Lucida Console, monospace;--brand-color: #a0755b;--brand-hue: 22.6086956522deg;--brand-saturation: 27.4900398406%;--brand-lightness: 49.2156862745%;--brand-light: hsl( var(--brand-hue) var(--brand-saturation) var(--brand-lightness) );--text1-light: hsl(var(--brand-hue) var(--brand-saturation) 10%);--text2-light: hsl(var(--brand-hue) 30% 30%);--surface1-light: hsl(var(--brand-hue) 25% 90%);--surface2-light: hsl(var(--brand-hue) 20% 99%);--surface3-light: hsl(var(--brand-hue) 20% 92%);--surface4-light: hsl(var(--brand-hue) 20% 85%);--surface-shadow-light: var(--brand-hue) 10% 20%;--shadow-strength-light: .02;--brand-dark: hsl( var(--brand-hue) calc(var(--brand-saturation) / 2) calc(var(--brand-lightness) / 1.5) );--text1-dark: hsl(var(--brand-hue) 15% 85%);--text2-dark: hsl(var(--brand-hue) 5% 65%);--surface1-dark: hsl(var(--brand-hue) 10% 10%);--surface2-dark: hsl(var(--brand-hue) 10% 15%);--surface3-dark: hsl(var(--brand-hue) 5% 20%);--surface4-dark: hsl(var(--brand-hue) 5% 25%);--surface-shadow-dark: var(--brand-hue) 50% 3%;--shadow-strength-dark: .8;--brand-dim: hsl( var(--brand-hue) calc(var(--brand-saturation) / 1.25) calc(var(--brand-lightness) / 1.25) );--text1-dim: hsl(var(--brand-hue) 15% 75%);--text2-dim: hsl(var(--brand-hue) 10% 61%);--surface1-dim: hsl(var(--brand-hue) 10% 20%);--surface2-dim: hsl(var(--brand-hue) 10% 25%);--surface3-dim: hsl(var(--brand-hue) 5% 30%);--surface4-dim: hsl(var(--brand-hue) 5% 35%);--surface-shadow-dim: var(--brand-hue) 30% 13%;--shadow-strength-dim: .2;--brand: var(--brand-light);--text1: var(--text1-light);--text2: var(--text2-light);--surface1: var(--surface1-light);--surface2: var(--surface2-light);--surface3: var(--surface3-light);--surface4: var(--surface4-light);--surface-shadow: var(--surface-shadow-light);--shadow-strength: var(--shadow-strength-light);--max-container-width: 1024px;--gutter: 16px;--base-weight: 400;--base-grade: 0;color-scheme:light}@media (prefers-contrast: more){--base-weight: 700}@media (prefers-contrast: less){--base-weight: 200}@media (prefers-color-scheme: dark){--base-grade: -25}@media (prefers-color-scheme: dark){:root{color-scheme:dark;--brand: var(--brand-dark);--text1: var(--text1-dark);--text2: var(--text2-dark);--surface1: var(--surface1-dark);--surface2: var(--surface2-dark);--surface3: var(--surface3-dark);--surface4: var(--surface4-dark);--surface-shadow: var(--surface-shadow-dark);--shadow-strength: var(--shadow-strength-dark)}}[color-scheme=light]{color-scheme:light;--brand: var(--brand-light);--text1: var(--text1-light);--text2: var(--text2-light);--surface1: var(--surface1-light);--surface2: var(--surface2-light);--surface3: var(--surface3-light);--surface4: var(--surface4-light);--surface-shadow: var(--surface-shadow-light);--shadow-strength: var(--shadow-strength-light)}[color-scheme=dark]{color-scheme:dark;--brand: var(--brand-dark);--text1: var(--text1-dark);--text2: var(--text2-dark);--surface1: var(--surface1-dark);--surface2: var(--surface2-dark);--surface3: var(--surface3-dark);--surface4: var(--surface4-dark);--surface-shadow: var(--surface-shadow-dark);--shadow-strength: var(--shadow-strength-dark)}[color-scheme=dim]{color-scheme:dark;--brand: var(--brand-dim);--text1: var(--text1-dim);--text2: var(--text2-dim);--surface1: var(--surface1-dim);--surface2: var(--surface2-dim);--surface3: var(--surface3-dim);--surface4: var(--surface4-dim);--surface-shadow: var(--surface-shadow-dim);--shadow-strength: var(--shadow-strength-dim)}}@layer reset{*,*:before,*:after{box-sizing:border-box}body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}ul,ol{list-style:none;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);font-size:var(--base-font-size);line-height:var(--font-content-line-height);text-rendering:optimizeSpeed}a:not([class]){text-decoration-skip-ink:auto}a{text-decoration:none}img,picture{display:block;max-width:100%}em{font-variation-settings:"slnt" -10}input,button,textarea,select{font:inherit}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}}@layer base{html{color:var(--text1);font-family:var(--font-body);font-variation-settings:"wght" var(--base-weight),"GRAD" var(--base-grade);line-height:1.2;background-color:var(--surface2)}h1{font-weight:600}h2{font-weight:500}h3{font-weight:300}a{color:var(--text2)}}body{--gradient: linear-gradient(90deg, transparent 0, rgba(255, 0, 0, .5) 1px);--gradient2: linear-gradient(90deg, transparent 0, rgba(0, 0, 255, .3) 1px)}body:after{position:fixed;z-index:100;inset:0 0 0 50%;width:100%;max-width:var(--max-container-width);content:"";transform:translate(-50%);pointer-events:none;background-position:0 0,var(--gutter) 0,calc(50% - var(--max-container-width) / 4) 0,calc(50% - var(--max-container-width) / 2) 0,50% 0,calc(50% + var(--max-container-width) / 2) 0,calc(50% + var(--max-container-width) / 4) 0,calc(100% - var(--gutter)) 0,100% 0;background-image:var(--gradient),var(--gradient),var(--gradient2),var(--gradient2),var(--gradient),var(--gradient2),var(--gradient2),var(--gradient),var(--gradient);background-size:1px 100%;background-repeat:no-repeat}body img{border:1px solid green}::view-transition-old(root),::view-transition-new(root){animation-duration:.5s;animation-timing-function:cubic-bezier(.4,0,.2,1)}::view-transition-old(root){animation-name:fade-out}::view-transition-new(root){animation-name:fade-in}@keyframes fade-in{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fade-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-20px) scale(.98)}}::view-transition-old(back-button),::view-transition-new(back-button){animation-duration:.3s;animation-timing-function:cubic-bezier(.4,0,.2,1)}article{transition:all .3s cubic-bezier(.4,0,.2,1);will-change:transform,box-shadow}h2{transition:color .3s ease}h2:hover{color:var(--brand)}figure{transition:all .3s ease;will-change:transform,box-shadow}.back-button{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--primary, #a0755b);color:#fff;text-decoration:none;border-radius:8px;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1);margin-bottom:2rem;box-shadow:0 2px 8px var(--surface-shadow);will-change:transform,box-shadow}.back-button:hover{background:var(--primary-dark, #8a6b4f);transform:translate(-4px);box-shadow:0 4px 12px var(--surface-shadow)}.back-button:active{transform:translate(-2px)}.loading{opacity:.7;pointer-events:none}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:loading 1.5s infinite;will-change:background-position}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}:root{--view-transition-duration: .5s;--view-transition-timing: cubic-bezier(.4, 0, .2, 1)}@media (prefers-reduced-motion: reduce){::view-transition-old(root),::view-transition-new(root){animation-duration:.1s}}@media (prefers-color-scheme: dark){.skeleton{background:linear-gradient(90deg,#2a2a2a 25%,#3a3a3a,#2a2a2a 75%)}figure:hover{box-shadow:0 8px 25px #ffffff26}}@media (prefers-reduced-motion: no-preference) and (min-resolution: 2dppx){::view-transition-old(root),::view-transition-new(root){animation-duration:.4s}}@layer navigation{.navigation{position:fixed;top:0;left:calc(50% + var(--max-container-width) / 2);z-index:100;display:flex;flex-direction:column}.navigation-main{display:flex;flex-direction:column;width:80px;padding:2px;border-radius:40px;--filter-glass3d: blur($blur) brightness($brightness) saturate($saturation);--color-glass3d: hsl( var(--brand-hue) var(--brand-saturation) var(--brand-lightness) / .2 );--noise-glass3d: url(https://www.transparenttextures.com/patterns/egg-shell.png);position:relative;z-index:4;box-shadow:0 0 .75px hsl(var(--surface-shadow)/.2),.7px .8px 1.2px -.4px hsl(var(--surface-shadow)/.1),1.3px 1.5px 2.2px -.8px hsl(var(--surface-shadow)/.1),2.3px 2.6px 3.9px -1.2px hsl(var(--surface-shadow)/.1),3.9px 4.4px 6.6px -1.7px hsl(var(--surface-shadow)/.1),6.5px 7.2px 10.9px -2.1px hsl(var(--surface-shadow)/.1),8px 9px 14px -2.5px hsl(var(--surface-shadow)/.2)}.navigation-main:before{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;overflow:hidden;z-index:3;-webkit-backdrop-filter:var(--filter-glass3d);backdrop-filter:var(--filter-glass3d);background-color:var(--color-glass3d);background-image:var(--noise-glass3d);background-size:100px;background-repeat:repeat}.navigation-main:after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;overflow:hidden;z-index:5;box-shadow:inset 2px 2px 1px -3px hsl(var(--surface4)/.8),inset 4px 4px 2px -6px hsl(var(--surface4)/.3),inset 1.5px 1.5px 1.5px -.75px hsl(var(--surface4)/.15),inset 1.5px 1.5px .25px hsl(var(--surface4)/.03),inset 0 0 .25px .5px hsl(var(--surface4)/.03)}.navigation-main>*{position:relative;z-index:6}.navigation-main a{text-align:center;display:flex;align-items:center;justify-content:center;padding:16px}}@layer post-content{.post-content{max-width:var(--max-container-width);margin:0 auto;padding:0 var(--gutter)}code[data-theme*=" "],code[data-theme*=" "] span{color:var(--shiki-light);background-color:var(--shiki-light-bg)}@media (prefers-color-scheme: dark){code[data-theme*=" "],code[data-theme*=" "] span{color:var(--shiki-dark);background-color:var(--shiki-dark-bg)}}code[data-line-numbers]{counter-reset:line}code[data-line-numbers]>[data-line]:before{counter-increment:line;content:counter(line);display:inline-block;width:.75rem;margin-right:2rem;text-align:right;color:gray}code[data-line-numbers-max-digits="2"]>[data-line]:before{width:1.25rem}code[data-line-numbers-max-digits="3"]>[data-line]:before{width:1.75rem}code[data-line-numbers-max-digits="4"]>[data-line]:before{width:2.25rem}}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}
