.opacity-enter-active[data-astro-cid-oenwriqq],.opacity-leave-active[data-astro-cid-oenwriqq]{transition-property:opacity;transition-duration:.28s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.opacity-enter-from[data-astro-cid-oenwriqq],.opacity-leave-to[data-astro-cid-oenwriqq]{opacity:0}footer[data-astro-cid-oenwriqq]{text-align:center;margin-top:48px;padding-top:1rem;padding-bottom:1rem;padding-bottom:calc(env(safe-area-inset-bottom) + 1rem)}footer[data-astro-cid-oenwriqq] .socratica-webring[data-astro-cid-oenwriqq]{font-size:1.5rem}footer[data-astro-cid-oenwriqq] .text[data-astro-cid-oenwriqq]{font-size:.8rem;margin-top:.5rem;opacity:.8}footer[data-astro-cid-oenwriqq] .text[data-astro-cid-oenwriqq] a[data-astro-cid-oenwriqq]{color:inherit}footer[data-astro-cid-oenwriqq] .text[data-astro-cid-oenwriqq] a[data-astro-cid-oenwriqq]:visited{color:inherit}footer[data-astro-cid-oenwriqq] .personal-logo-link[data-astro-cid-oenwriqq]{display:block;width:min-content;margin:0 auto}footer[data-astro-cid-oenwriqq] .personal-logo-link[data-astro-cid-oenwriqq] .pfp[data-astro-cid-oenwriqq]{display:block;height:auto;width:2rem;border-radius:50%}.opacity-enter-active[data-v-d0852ec0],.opacity-leave-active[data-v-d0852ec0]{transition-property:opacity;transition-duration:.28s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.opacity-enter-from[data-v-d0852ec0],.opacity-leave-to[data-v-d0852ec0]{opacity:0}#snackbar-container[data-v-d0852ec0]{display:flex;flex-direction:column;justify-content:center;align-items:center;position:fixed;inset:auto 0 0;z-index:1000;margin:0;border:none;padding:0;overflow:visible;background:transparent;color:inherit;width:100%}#snackbar-container>.snackbar[data-v-d0852ec0]{--csstools-light-dark-toggle--0: var(--csstools-color-scheme--light) rgba(0, 0, 0, .1);--csstools-light-dark-toggle--1: var(--csstools-color-scheme--light) rgba(0, 0, 0, .1);box-shadow:0 10px 15px -3px var(--csstools-light-dark-toggle--0, rgba(0, 0, 0, .1)),0 4px 6px -4px var(--csstools-light-dark-toggle--1, rgba(0, 0, 0, .1));box-shadow:0 10px 15px -3px light-dark(rgba(0,0,0,.1),rgba(0,0,0,.1)),0 4px 6px -4px light-dark(rgba(0,0,0,.1),rgba(0,0,0,.1));display:flex;flex-direction:row;justify-content:flex-start;align-items:center;height:48px;width:min(344px,100% - 16px)}@media(max-width:480px){#snackbar-container>.snackbar[data-v-d0852ec0]{width:calc(100% - 16px)}}#snackbar-container>.snackbar[data-v-d0852ec0]{border-radius:24px;padding-left:20px;padding-right:20px;margin-left:8px;margin-right:8px;margin-bottom:8px;margin-bottom:calc(env(safe-area-inset-bottom) + 8px);font-size:.875rem;line-height:1.25rem;letter-spacing:.0178571429em;box-sizing:border-box;--csstools-light-dark-toggle--2: var(--csstools-color-scheme--light) rgba(255, 255, 255, .8);background-color:var(--csstools-light-dark-toggle--2, rgba(51, 51, 51, .5));background-color:light-dark(rgba(51,51,51,.5),rgba(255,255,255,.8));--csstools-light-dark-toggle--3: var(--csstools-color-scheme--light) rgba(0, 0, 0, .87);color:var(--csstools-light-dark-toggle--3, #fff);color:light-dark(#fff,rgba(0,0,0,.87));-webkit-backdrop-filter:blur(10px) brightness(.6);backdrop-filter:blur(10px) brightness(.6)}@media(prefers-color-scheme:dark){#snackbar-container>.snackbar[data-v-d0852ec0]{-webkit-backdrop-filter:blur(10px) brightness(1.6);backdrop-filter:blur(10px) brightness(1.6)}}#snackbar-container>.snackbar.v-enter-active[data-v-d0852ec0]{transition-property:transform,opacity;transition-duration:calc(var(--v2c677159) * 1ms);transition-timing-function:cubic-bezier(0,0,.2,1)}#snackbar-container>.snackbar.v-leave-active[data-v-d0852ec0]{transition-property:transform,opacity;transition-duration:calc(var(--v512a05bb) * 1ms);transition-timing-function:cubic-bezier(.4,0,1,1)}#snackbar-container>.snackbar.v-enter-from[data-v-d0852ec0]{transform:scale(0);opacity:0}#snackbar-container>.snackbar.v-leave-to[data-v-d0852ec0]{opacity:0}@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}}span[data-v-2c71cfd1]{display:contents}span[data-v-2c71cfd1]>svg{box-sizing:border-box;height:1em;width:auto;overflow:visible}span.padding[data-v-2c71cfd1]>svg{padding:.0625em 0}span[data-v-2c71cfd1]:not(.color)>svg .f1{fill:currentColor}span[data-v-2c71cfd1]:not(.color)>svg .f0{fill:var(--icon-background, transparent)}span[data-v-2c71cfd1]:not(.color)>svg .s1{stroke:currentColor}span[data-v-2c71cfd1]:not(.color)>svg .s0{stroke:var(--icon-background, transparent)}span[data-v-3d4aeb04]{display:contents}header[data-astro-cid-mca63n6t]{max-width:1200px;width:100%;margin:0 auto;box-sizing:border-box;display:flex;justify-content:space-between;align-items:center;padding:2.5em}@media(width<=850px){header[data-astro-cid-mca63n6t]{padding:1.5em}}@media(width<=536px){header[data-astro-cid-mca63n6t].has-text{padding:1em}}header[data-astro-cid-mca63n6t].no-links{justify-content:flex-start}header[data-astro-cid-mca63n6t]:after{content:"";position:fixed;top:0;left:0;right:0;z-index:-1;display:block;width:100%;height:min(200px,50lvh);--csstools-light-dark-toggle--1: var(--csstools-color-scheme--light) var(--darkThemeColor);--csstools-light-dark-toggle--2: var(--csstools-color-scheme--light) #23704a80;--csstools-light-dark-toggle--3: var(--csstools-color-scheme--light) #19437480;background:linear-gradient(180deg,var(--csstools-light-dark-toggle--1, var(--lightThemeColor)),var(--csstools-light-dark-toggle--2, #ffddd180) 10%,var(--csstools-light-dark-toggle--3, #fff4d180),#0000)}@supports (color: light-dark(red,red)){header[data-astro-cid-mca63n6t]:after{background:linear-gradient(180deg,light-dark(var(--lightThemeColor),var(--darkThemeColor)),light-dark(#ffddd180,#23704a80) 10%,light-dark(#fff4d180,#19437480),#0000)}}header[data-astro-cid-mca63n6t]:before{content:"";position:fixed;top:-200px;left:0;right:0;z-index:-1;display:block;width:100%;height:200px;--csstools-light-dark-toggle--0: var(--csstools-color-scheme--light) var(--darkThemeColor);background:var(--csstools-light-dark-toggle--0, var(--lightThemeColor))}@supports (color: light-dark(red,red)){header[data-astro-cid-mca63n6t]:before{background:light-dark(var(--lightThemeColor),var(--darkThemeColor))}}header[data-astro-cid-mca63n6t] .left[data-astro-cid-mca63n6t]{display:flex;justify-content:flex-start;align-items:center;gap:1em}@media(width<=850px){header[data-astro-cid-mca63n6t] .left[data-astro-cid-mca63n6t]{gap:.6em}}header[data-astro-cid-mca63n6t] .left[data-astro-cid-mca63n6t] .pfp[data-astro-cid-mca63n6t]{display:block;width:auto;height:6em;border-radius:50%}@media(width<=1200px){header[data-astro-cid-mca63n6t] .left[data-astro-cid-mca63n6t] .pfp[data-astro-cid-mca63n6t]{height:5em}}@media(width<=525px)and (height<=750px){header[data-astro-cid-mca63n6t] .left[data-astro-cid-mca63n6t] .pfp[data-astro-cid-mca63n6t]{height:4em}}@media(width<=455px){header[data-astro-cid-mca63n6t] .left[data-astro-cid-mca63n6t] .pfp[data-astro-cid-mca63n6t].has-text{height:4em}}@media(width<=430px){header[data-astro-cid-mca63n6t] .left[data-astro-cid-mca63n6t] .pfp[data-astro-cid-mca63n6t].has-text{height:3.2em}}header[data-astro-cid-mca63n6t] .left[data-astro-cid-mca63n6t] .pfp[data-astro-cid-mca63n6t].small{height:4.2em}@media(width<=768px){header[data-astro-cid-mca63n6t] .left[data-astro-cid-mca63n6t] .pfp[data-astro-cid-mca63n6t].small{height:3.2em}}header[data-astro-cid-mca63n6t] .left[data-astro-cid-mca63n6t] .text[data-astro-cid-mca63n6t]{--base-font-size: 1rem;--small-font-weight: 400;line-height:1}header[data-astro-cid-mca63n6t] .left[data-astro-cid-mca63n6t] .text[data-astro-cid-mca63n6t] a[data-astro-cid-mca63n6t]{appearance:none;color:inherit;-webkit-text-decoration:none;text-decoration:none}@media(any-hover:hover){header[data-astro-cid-mca63n6t] .left[data-astro-cid-mca63n6t] .text[data-astro-cid-mca63n6t] a[data-astro-cid-mca63n6t]:hover{-webkit-text-decoration:underline;text-decoration:underline}}header[data-astro-cid-mca63n6t] .left[data-astro-cid-mca63n6t] .text[data-astro-cid-mca63n6t] .tool[data-astro-cid-mca63n6t]{font-size:1em;margin-left:calc(.2 / (var(--base-font-size) * 3) * 1em)}header[data-astro-cid-mca63n6t] .left[data-astro-cid-mca63n6t] .text[data-astro-cid-mca63n6t] .name[data-astro-cid-mca63n6t]{font-size:calc(var(--base-font-size) * 3);margin:0;font-weight:inherit}header[data-astro-cid-mca63n6t] .left[data-astro-cid-mca63n6t] .text[data-astro-cid-mca63n6t] .liang[data-astro-cid-mca63n6t]{view-transition-class:height-left}@media(width<=768px){header[data-astro-cid-mca63n6t] .left[data-astro-cid-mca63n6t] .text[data-astro-cid-mca63n6t] .tool[data-astro-cid-mca63n6t]{font-size:.75em}header[data-astro-cid-mca63n6t] .left[data-astro-cid-mca63n6t] .text[data-astro-cid-mca63n6t] .name[data-astro-cid-mca63n6t]{font-size:calc(var(--base-font-size) * 2.25)}}@media(width<=580px){header[data-astro-cid-mca63n6t] .left[data-astro-cid-mca63n6t] .text[data-astro-cid-mca63n6t] .tool[data-astro-cid-mca63n6t]{font-size:1em}header[data-astro-cid-mca63n6t] .left[data-astro-cid-mca63n6t] .text[data-astro-cid-mca63n6t] .name[data-astro-cid-mca63n6t]{font-size:calc(var(--base-font-size) * 2);font-weight:var(--small-font-weight)}}@media(width<=440px){header[data-astro-cid-mca63n6t] .left[data-astro-cid-mca63n6t] .text[data-astro-cid-mca63n6t]{letter-spacing:-.05em}header[data-astro-cid-mca63n6t] .left[data-astro-cid-mca63n6t] .text[data-astro-cid-mca63n6t] .name[data-astro-cid-mca63n6t]{font-size:calc(var(--base-font-size) * 1.9);font-weight:var(--small-font-weight)}}@media(width<=375px){header[data-astro-cid-mca63n6t] .left[data-astro-cid-mca63n6t] .text[data-astro-cid-mca63n6t]{letter-spacing:-.05em}header[data-astro-cid-mca63n6t] .left[data-astro-cid-mca63n6t] .text[data-astro-cid-mca63n6t] .tool[data-astro-cid-mca63n6t]{font-size:1.1em}header[data-astro-cid-mca63n6t] .left[data-astro-cid-mca63n6t] .text[data-astro-cid-mca63n6t] .name[data-astro-cid-mca63n6t]{font-size:calc(var(--base-font-size) * 1.7);font-weight:var(--small-font-weight)}}header[data-astro-cid-mca63n6t] nav[data-astro-cid-mca63n6t] .big[data-astro-cid-mca63n6t],header[data-astro-cid-mca63n6t] nav[data-astro-cid-mca63n6t] .small[data-astro-cid-mca63n6t]{display:flex;flex-wrap:wrap}header[data-astro-cid-mca63n6t] nav[data-astro-cid-mca63n6t] .big[data-astro-cid-mca63n6t]>div[data-astro-cid-mca63n6t]{view-transition-class:height-left nav-link big}header[data-astro-cid-mca63n6t] nav[data-astro-cid-mca63n6t] .small[data-astro-cid-mca63n6t]>div[data-astro-cid-mca63n6t]{view-transition-class:height-left nav-link small}@media(width<=649px){header[data-astro-cid-mca63n6t] nav[data-astro-cid-mca63n6t].has-text .big[data-astro-cid-mca63n6t]{display:none}}header[data-astro-cid-mca63n6t] nav[data-astro-cid-mca63n6t].has-text .small[data-astro-cid-mca63n6t]{display:flex}@media(width>=650px){header[data-astro-cid-mca63n6t] nav[data-astro-cid-mca63n6t].has-text .small[data-astro-cid-mca63n6t]{display:none}}header[data-astro-cid-mca63n6t] nav[data-astro-cid-mca63n6t] .small[data-astro-cid-mca63n6t]{display:none}::view-transition-old(.nav-link.small),::view-transition-new(.nav-link.big){object-fit:cover}::view-transition-old(.nav-link.big),::view-transition-new(.nav-link.small){object-fit:contain}@font-face{font-family:Inter;font-style:normal;font-weight:100;font-display:block;src:url(/_astro/Inter-Thin-subset.DEHMKnxG.woff2?v=4.1) format("woff2")}@font-face{font-family:Inter;font-style:italic;font-weight:100;font-display:block;src:url(/_astro/Inter-ThinItalic-subset.CftrsgEe.woff2?v=4.1) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:200;font-display:block;src:url(/_astro/Inter-ExtraLight-subset.DH0h-b6a.woff2?v=4.1) format("woff2")}@font-face{font-family:Inter;font-style:italic;font-weight:200;font-display:block;src:url(/_astro/Inter-ExtraLightItalic-subset.Df8vqsgr.woff2?v=4.1) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:block;src:url(/_astro/Inter-Light-subset.D0DUPIda.woff2?v=4.1) format("woff2")}@font-face{font-family:Inter;font-style:italic;font-weight:300;font-display:block;src:url(/_astro/Inter-LightItalic-subset.ZnDkLSSj.woff2?v=4.1) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:block;src:url(/_astro/Inter-Regular-subset.x_-vVlVu.woff2?v=4.1) format("woff2")}@font-face{font-family:Inter;font-style:italic;font-weight:400;font-display:block;src:url(/_astro/Inter-Italic-subset.CXr7DdHG.woff2?v=4.1) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:block;src:url(/_astro/Inter-Medium-subset.CNbRaEo5.woff2?v=4.1) format("woff2")}@font-face{font-family:Inter;font-style:italic;font-weight:500;font-display:block;src:url(/_astro/Inter-MediumItalic-subset.C5f-IFW-.woff2?v=4.1) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:block;src:url(/_astro/Inter-SemiBold-subset.BVaQAlZf.woff2?v=4.1) format("woff2")}@font-face{font-family:Inter;font-style:italic;font-weight:600;font-display:block;src:url(/_astro/Inter-SemiBoldItalic-subset.BXI8zeKT.woff2?v=4.1) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:block;src:url(/_astro/Inter-Bold-subset.C5ZtO385.woff2?v=4.1) format("woff2")}@font-face{font-family:Inter;font-style:italic;font-weight:700;font-display:block;src:url(/_astro/Inter-BoldItalic-subset.B6Jkso50.woff2?v=4.1) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:block;src:url(/_astro/Inter-ExtraBold-subset.Bc7xcHAp.woff2?v=4.1) format("woff2")}@font-face{font-family:Inter;font-style:italic;font-weight:800;font-display:block;src:url(/_astro/Inter-ExtraBoldItalic-subset.C9nSRXjg.woff2?v=4.1) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:900;font-display:block;src:url(/_astro/Inter-Black-subset.DI5uRKwP.woff2?v=4.1) format("woff2")}@font-face{font-family:Inter;font-style:italic;font-weight:900;font-display:block;src:url(/_astro/Inter-BlackItalic-subset.eQRSVesD.woff2?v=4.1) format("woff2")}@font-face{font-family:InterVariable;font-weight:100 900;font-style:normal;font-named-instance:"Regular";font-display:block;src:url(/_astro/InterVariable-subset.BEj7YJOv.woff2?v=4.1) format("woff2 supports variations(gvar)"),url(/_astro/InterVariable-subset.BEj7YJOv.woff2?v=4.1) format("woff2-variations"),url(/_astro/InterVariable-subset.BEj7YJOv.woff2?v=4.1) format("woff2")}@font-face{font-family:InterVariable;font-weight:100 900;font-style:italic;font-named-instance:"Italic";font-display:block;src:url(/_astro/InterVariable-Italic-subset.DH3WlOmH.woff2?v=4.1) format("woff2 supports variations(gvar)"),url(/_astro/InterVariable-Italic-subset.DH3WlOmH.woff2?v=4.1) format("woff2-variations"),url(/_astro/InterVariable-Italic-subset.DH3WlOmH.woff2?v=4.1) format("woff2")}html{--csstools-light-dark-toggle--0: var(--csstools-color-scheme--light) #fff;color:var(--csstools-light-dark-toggle--0, rgba(0, 0, 0, .87));color:light-dark(rgba(0,0,0,.87),#fff);--csstools-light-dark-toggle--1: var(--csstools-color-scheme--light) #fff;fill:var(--csstools-light-dark-toggle--1, rgba(0, 0, 0, .87));fill:light-dark(rgba(0,0,0,.87),#fff);--csstools-light-dark-toggle--2: var(--csstools-color-scheme--light) rgb(from var(--backgroundColorDark, #171513) r g b/ calc(alpha*1) );background-color:var(--csstools-light-dark-toggle--2, rgb(from var(--backgroundColorLight, #f6f5f4) r g b/ calc(alpha*1) ));scroll-behavior:smooth;overflow:auto;overflow:overlay;--csstools-color-scheme--light: initial;color-scheme:light dark;font-family:InterVariable,Inter,Helvetica,Arial,sans-serif;font-feature-settings:"cv05","cv11";font-size:14px;word-break:break-word;scrollbar-color:#c1c1c1 transparent;scrollbar-width:thin}@supports (color: lab(from red l 1 1% / calc(alpha + .1))) and (color: light-dark(red,red)){html{background-color:light-dark(rgb(from var(--backgroundColorLight, #f6f5f4) r g b/ calc(alpha*1)),rgb(from var(--backgroundColorDark, #171513) r g b/ calc(alpha*1)))}}@media(prefers-color-scheme:dark){html{--csstools-color-scheme--light: }}@media(min-width:429px){html{font-size:16px}}body{margin:0;padding:0;min-width:350px;min-height:100lvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) 0 env(safe-area-inset-left);display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch}body.barebones{min-width:initial;min-height:initial;width:100lvw;height:100lvh;display:block}body.fills-viewport{min-width:initial}body>main{flex-grow:1}@media(prefers-color-scheme:light){body>.safari-top-color-fix{position:fixed;top:0;left:0;right:0;height:5px;width:100%;--csstools-light-dark-toggle--3: var(--csstools-color-scheme--light) var(--darkThemeColor);background-color:var(--csstools-light-dark-toggle--3, var(--lightThemeColor));opacity:.1;animation:safariTopColorFixFadeOut 1ms linear forwards;animation-direction:alternate;animation-timeline:scroll();animation-range:0 5px}@supports (color: light-dark(red,red)){body>.safari-top-color-fix{background-color:light-dark(var(--lightThemeColor),var(--darkThemeColor))}}@keyframes safariTopColorFixFadeOut{to{opacity:0}}}a{--csstools-light-dark-toggle--4: var(--csstools-color-scheme--light) #42a5f5;color:var(--csstools-light-dark-toggle--4, #1565c0);color:light-dark(#1565c0,#42a5f5)}a:visited{--csstools-light-dark-toggle--5: var(--csstools-color-scheme--light) #b39ddb;color:var(--csstools-light-dark-toggle--5, #5e35b1);color:light-dark(#5e35b1,#b39ddb)}.icon{-webkit-user-select:none;user-select:none}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}p{text-wrap:pretty}label,input,textarea,button,select,a{-webkit-tap-highlight-color:transparent}@view-transition{navigation:auto}::view-transition-old(.blog-cover),::view-transition-new(.blog-cover){height:100%;object-fit:cover;object-position:center;overflow:clip}::view-transition-old(.height),::view-transition-new(.height){height:100%}::view-transition-old(.height-left),::view-transition-new(.height-left){height:100%;object-fit:none;object-position:left;overflow:clip}
