@charset "utf-8";@property --main-hue{syntax:"<number>";initial-value:205;inherits:true}@-webkit-keyframes rotate-shape{0%{font-variation-settings:"ELSH" 0}to{font-variation-settings:"ELSH" 100}}@-moz-keyframes rotate-shape{0%{font-variation-settings:"ELSH" 0}to{font-variation-settings:"ELSH" 100}}@-o-keyframes rotate-shape{0%{font-variation-settings:"ELSH" 0}to{font-variation-settings:"ELSH" 100}}@keyframes rotate-shape{0%{font-variation-settings:"ELSH" 0}to{font-variation-settings:"ELSH" 100}}.geist-anim{-webkit-animation:rotate-shape 4s infinite cubic-bezier(.7,0,.35,1);-moz-animation:rotate-shape 4s infinite cubic-bezier(.7,0,.35,1);-o-animation:rotate-shape 4s infinite cubic-bezier(.7,0,.35,1);animation:rotate-shape 4s infinite cubic-bezier(.7,0,.35,1);font-synthesis:weight!important;font-weight:50}:root{--vt-duration:100ms;--vt-ease:cubic-bezier(0.25,0.8,0.25,1);--vt-direction:1}*,:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}body,html{margin:0;padding:0;--csstools-color-scheme--light:initial;color-scheme:light dark}@media (prefers-color-scheme:dark){body,html{--csstools-color-scheme--light: }}html{--core:hsl(var(--core-hsl));--mantle:hsl(var(--mantle-hsl));--crust:hsl(var(--crust-hsl));--base:hsl(var(--base-hsl));--surface0:hsl(var(--surface0-hsl));--surface1:hsl(var(--surface1-hsl));--surface2:hsl(var(--surface2-hsl));--surface3:hsl(var(--surface3-hsl));--surface4:hsl(var(--surface4-hsl));--surface5:hsl(var(--surface5-hsl));--surface6:hsl(var(--surface6-hsl));--overlay0:hsl(var(--overlay0-hsl));--overlay1:hsl(var(--overlay1-hsl));--overlay2:hsl(var(--overlay2-hsl));--overlay3:hsl(var(--overlay3-hsl));--supertext:hsl(var(--supertext-hsl));--text:hsl(var(--text-hsl));--text1:hsl(var(--text1-hsl));--subtext0:hsl(var(--subtext0-hsl));--subtext1:hsl(var(--subtext1-hsl));--subtext2:hsl(var(--subtext2-hsl));--subtext3:hsl(var(--subtext3-hsl));--accent:hsl(var(--accent-hsl));--bgmoveX:0px;--bgmoveY:0px;--bg-width:100%;--bg-height:100%;--grid-size:28px;--tooltip-shadow:hsla(var(--overlay3-hsl),0.35);--image-ring:hsla(var(--surface1-hsl),0.8);--text-shadow-soft:hsla(var(--surface1-hsl),0.65);--card-overlay:color-mix(in srgb,var(--overlay3) 70%,var(--text) 30%);--card-surface:hsla(var(--surface1-hsl),0.9);--card-surface-hover:hsla(var(--surface1-hsl),0.96);--main-hue:305;--grid-lines:hsla(var(--main-hue),12%,16%);--core-hsl:var(--main-hue),100%,2%;--mantle-hsl:var(--main-hue),40%,2.5%;--crust-hsl:var(--main-hue),20%,3.5%;--base-hsl:-webkit-calc(var(--main-hue) - 30),10%,6%;--base-hsl:-moz-calc(var(--main-hue) - 30),10%,6%;--base-hsl:calc(var(--main-hue) - 30),10%,6%;--bg-light:var(--main-hue),5%,6.5%;--surface0-hsl:-webkit-calc(var(--main-hue) - 30),12%,7.5%;--surface0-hsl:-moz-calc(var(--main-hue) - 30),12%,7.5%;--surface0-hsl:calc(var(--main-hue) - 30),12%,7.5%;--surface1-hsl:-webkit-calc(var(--main-hue) - 35),17%,12%;--surface1-hsl:-moz-calc(var(--main-hue) - 35),17%,12%;--surface1-hsl:calc(var(--main-hue) - 35),17%,12%;--surface2-hsl:-webkit-calc(var(--main-hue) - 30),17%,14%;--surface2-hsl:-moz-calc(var(--main-hue) - 30),17%,14%;--surface2-hsl:calc(var(--main-hue) - 30),17%,14%;--surface3-hsl:-webkit-calc(var(--main-hue) - 30),17%,19%;--surface3-hsl:-moz-calc(var(--main-hue) - 30),17%,19%;--surface3-hsl:calc(var(--main-hue) - 30),17%,19%;--surface4-hsl:-webkit-calc(var(--main-hue) - 30),15%,22.5%;--surface4-hsl:-moz-calc(var(--main-hue) - 30),15%,22.5%;--surface4-hsl:calc(var(--main-hue) - 30),15%,22.5%;--surface5-hsl:-webkit-calc(var(--main-hue) - 28),13%,27%;--surface5-hsl:-moz-calc(var(--main-hue) - 28),13%,27%;--surface5-hsl:calc(var(--main-hue) - 28),13%,27%;--surface6-hsl:-webkit-calc(var(--main-hue) - 20),14%,34%;--surface6-hsl:-moz-calc(var(--main-hue) - 20),14%,34%;--surface6-hsl:calc(var(--main-hue) - 20),14%,34%;--overlay0-hsl:-webkit-calc(var(--main-hue) - 30),10%,55%;--overlay0-hsl:-moz-calc(var(--main-hue) - 30),10%,55%;--overlay0-hsl:calc(var(--main-hue) - 30),10%,55%;--overlay1-hsl:-webkit-calc(var(--main-hue) - 25),12.5%,65%;--overlay1-hsl:-moz-calc(var(--main-hue) - 25),12.5%,65%;--overlay1-hsl:calc(var(--main-hue) - 25),12.5%,65%;--overlay2-hsl:-webkit-calc(var(--main-hue) - 22.5),17.5%,75%;--overlay2-hsl:-moz-calc(var(--main-hue) - 22.5),17.5%,75%;--overlay2-hsl:calc(var(--main-hue) - 22.5),17.5%,75%;--overlay3-hsl:-webkit-calc(var(--main-hue) - 12),27.5%,85%;--overlay3-hsl:-moz-calc(var(--main-hue) - 12),27.5%,85%;--overlay3-hsl:calc(var(--main-hue) - 12),27.5%,85%;--supertext-hsl:-webkit-calc(var(--main-hue) - 27.5),100%,98%;--supertext-hsl:-moz-calc(var(--main-hue) - 27.5),100%,98%;--supertext-hsl:calc(var(--main-hue) - 27.5),100%,98%;--text-hsl:-webkit-calc(var(--main-hue) - 22.5),70%,95%;--text-hsl:-moz-calc(var(--main-hue) - 22.5),70%,95%;--text-hsl:calc(var(--main-hue) - 22.5),70%,95%;--text1-hsl:-webkit-calc(var(--main-hue) - 25),22%,70%;--text1-hsl:-moz-calc(var(--main-hue) - 25),22%,70%;--text1-hsl:calc(var(--main-hue) - 25),22%,70%;--subtext0-hsl:-webkit-calc(var(--main-hue) - 27.5),17%,67%;--subtext0-hsl:-moz-calc(var(--main-hue) - 27.5),17%,67%;--subtext0-hsl:calc(var(--main-hue) - 27.5),17%,67%;--subtext1-hsl:-webkit-calc(var(--main-hue) - 25),15%,60%;--subtext1-hsl:-moz-calc(var(--main-hue) - 25),15%,60%;--subtext1-hsl:calc(var(--main-hue) - 25),15%,60%;--subtext2-hsl:-webkit-calc(var(--main-hue) - 25),10%,50%;--subtext2-hsl:-moz-calc(var(--main-hue) - 25),10%,50%;--subtext2-hsl:calc(var(--main-hue) - 25),10%,50%;--subtext3-hsl:-webkit-calc(var(--main-hue) - 30),8%,40%;--subtext3-hsl:-moz-calc(var(--main-hue) - 30),8%,40%;--subtext3-hsl:calc(var(--main-hue) - 30),8%,40%;--accent-hsl:-webkit-calc(var(--main-hue) - 10),52%,77%;--accent-hsl:-moz-calc(var(--main-hue) - 10),52%,77%;--accent-hsl:calc(var(--main-hue) - 10),52%,77%;background:#090609;background:hsl(305,20%,3.5%);background:var(--crust);color:#f6e9fb;color:hsl(282.5,70%,95%);color:var(--text);overflow-x:hidden;overflow-y:auto;-ms-interpolation-mode:nearest-neighbor;image-rendering:-webkit-optimize-contrast;image-rendering:-moz-crisp-edges;image-rendering:-o-pixelated;image-rendering:pixelated;-webkit-transition:background-image .3s ease;-o-transition:background-image .3s ease;-moz-transition:background-image .3s ease;accent-color:hsl(295,52%,77%);accent-color:var(--accent);background-image:-webkit-linear-gradient(left,hsl(305,5%,6.5%) 1px,transparent 1px),-webkit-linear-gradient(top,hsl(305,5%,6.5%) 1px,transparent 1px);background-image:-moz-linear-gradient(left,hsl(305,5%,6.5%) 1px,transparent 1px),-moz-linear-gradient(top,hsl(305,5%,6.5%) 1px,transparent 1px);background-image:-o-linear-gradient(left,hsl(305,5%,6.5%) 1px,transparent 1px),-o-linear-gradient(top,hsl(305,5%,6.5%) 1px,transparent 1px);background-image:linear-gradient(to right,hsl(305,5%,6.5%) 1px,transparent 1px),linear-gradient(to bottom,hsl(305,5%,6.5%) 1px,transparent 1px);background-image:-webkit-linear-gradient(left,hsl(var(--bg-light)) 1px,transparent 1px),-webkit-linear-gradient(top,hsl(var(--bg-light)) 1px,transparent 1px);background-image:-moz-linear-gradient(left,hsl(var(--bg-light)) 1px,transparent 1px),-moz-linear-gradient(top,hsl(var(--bg-light)) 1px,transparent 1px);background-image:-o-linear-gradient(left,hsl(var(--bg-light)) 1px,transparent 1px),-o-linear-gradient(top,hsl(var(--bg-light)) 1px,transparent 1px);background-image:linear-gradient(to right,hsl(var(--bg-light)) 1px,transparent 1px),linear-gradient(to bottom,hsl(var(--bg-light)) 1px,transparent 1px);transition:background-image .3s ease;-webkit-background-size:28px 28px;-moz-background-size:28px 28px;-o-background-size:28px 28px;background-size:28px 28px;-webkit-background-size:var(--grid-size) var(--grid-size);-moz-background-size:var(--grid-size) var(--grid-size);-o-background-size:var(--grid-size) var(--grid-size);background-size:var(--grid-size) var(--grid-size)}html:has(body.grid-loaded){background-image:none}::-moz-selection{background:#dea6e3;background:hsla(295,52%,77%,.6);background:hsla(var(--accent-hsl),.6)}::selection{background:#dea6e3;background:hsla(295,52%,77%,.6);background:hsla(var(--accent-hsl),.6)}:focus-visible{outline:1.5px dashed #dea6e3;outline:1.5px dashed hsl(295,52%,77%);outline:1.5px dashed var(--accent);outline-offset:-1px}.project-card-wrapper:has(>a.project-card:focus-visible){border-color:transparent;outline:1px dashed #dea6e3;outline:1px dashed hsl(295,52%,77%);outline:1px dashed var(--accent);outline-offset:-1px;-webkit-transform:scale(1.01) translateY(-2px);-moz-transform:scale(1.01) translateY(-2px);-ms-transform:scale(1.01) translateY(-2px);-o-transform:scale(1.01) translateY(-2px);transform:scale(1.01) translateY(-2px)}.project-card-wrapper:has(>a.project-card:focus-visible) .project-title{-webkit-text-decoration:underline;text-decoration:underline}.project-card-wrapper>a.project-card:focus,.project-card-wrapper>a.project-card:focus-visible{outline:none}body{font-family:var(--font-body),sans-serif;font-size:clamp(15px,.4vw + 14px,17px);font-synthesis:style;letter-spacing:.01em;line-height:1.6;text-rendering:optimizeLegibility;-webkit-font-feature-settings:"kern",common-ligatures contextual,"kern",common-ligatures contextual;-moz-font-feature-settings:"kern",common-ligatures contextual,"kern",common-ligatures contextual;font-feature-settings:"kern",common-ligatures contextual,"kern",common-ligatures contextual;-webkit-font-kerning:normal;font-kerning:normal;-webkit-font-variant-ligatures:common-ligatures contextual;-moz-font-variant-ligatures:common-ligatures contextual;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;font-variant-ligatures:common-ligatures contextual;text-wrap:pretty;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:start;-webkit-justify-content:flex-start;-moz-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;min-height:100vh;-ms-scroll-chaining:none;background-attachment:fixed;background-position:top left;background-repeat:no-repeat;margin:0;overscroll-behavior:none;padding:0 1.5rem;-webkit-background-size:100% 100%;-moz-background-size:100% 100%;-o-background-size:100% 100%;background-size:100% 100%;-webkit-background-size:var(--bg-width) var(--bg-height);-moz-background-size:var(--bg-width) var(--bg-height);-o-background-size:var(--bg-width) var(--bg-height);background-blend-mode:normal;background-size:var(--bg-width) var(--bg-height);scrollbar-color:hsl(280,12.5%,65%) hsl(275,10%,6%);scrollbar-color:var(--overlay1) var(--base);scrollbar-width:thin;-webkit-perspective:1400px;-moz-perspective:1400px;perspective:1400px;-webkit-perspective-origin:center 30vh;-moz-perspective-origin:center 30vh;perspective-origin:center 30vh}@media (orientation:portrait){body{padding:0;-webkit-box-pack:start;-webkit-justify-content:flex-start;-moz-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}}h1,h2,h3,h4,h5,h6{color:#fbf5ff;color:hsl(277.5,100%,98%);color:var(--supertext);font-family:var(--font-display),sans-serif;font-synthesis:weight style small-caps;font-weight:50!important;text-rendering:geometricPrecision}h1{font-size:clamp(2.5rem,3.5vw + 1.75rem,4rem);font-synthesis:weight!important;font-variation-settings:"ELSH" 35;font-weight:50;line-height:1.18;margin-bottom:.75rem;margin-top:0}h2{font-size:clamp(1.5rem,1.6vw + 1rem,2.2rem);font-variation-settings:"ELSH" 60;line-height:1.24}h2,h3{margin-bottom:.4em;margin-top:.25em}h3{font-size:clamp(1.2rem,1vw + .95rem,1.6rem);font-variation-settings:"ELSH" 90;line-height:1.26}h4,h5,h6{margin-bottom:.35em;margin-top:.2em}h4{font-size:clamp(1rem,.9vw + .9rem,1.35rem);line-height:1.3}h5{font-size:clamp(.95rem,.75vw + .85rem,1.15rem);line-height:1.34}h6{font-size:clamp(.9rem,.6vw + .8rem,1.05rem);line-height:1.4}em,strong{font-family:"Geist",var(--font-display),sans-serif!important;opacity:.96;-webkit-font-smoothing:none;font-smooth:none}strong{font-weight:480}p{margin-bottom:.5em;margin-top:.5em}subt{color:#ae9db9;color:hsl(277.5,17%,67%);color:var(--subtext0);font-size:.85em;line-height:1.2}code,pre{background:#121014;background:hsl(275,12%,7.5%);background:var(--surface0);font-size:.95em;-webkit-border-radius:0;-moz-border-radius:0;border:.075rem solid #251e2a;border:.075rem solid hsl(275,17%,14%);border:.075rem solid var(--surface2);border-radius:0;font-family:var(--font-mono),monospace;font-stretch:100%;font-variation-settings:unset;padding:.05em .25em}pre{overflow-x:auto;padding:1rem}pre code{background:transparent;border:none;padding:0}a,a:visited{color:#fbf5ff;color:hsl(277.5,100%,98%);color:var(--supertext);-webkit-text-decoration-color:hsl(280,15%,60%)!important;-moz-text-decoration-color:hsl(280,15%,60%)!important;text-decoration-color:#9e8aa8!important;text-decoration-color:hsl(280,15%,60%)!important;-webkit-text-decoration-color:var(--subtext1)!important;-moz-text-decoration-color:var(--subtext1)!important;text-decoration-color:var(--subtext1)!important;-webkit-transition:color .25s ease,-webkit-text-decoration-color .25s ease;transition:color .25s ease,-webkit-text-decoration-color .25s ease;-o-transition:color .25s ease,text-decoration-color .25s ease;-moz-transition:color .25s ease,text-decoration-color .25s ease,-moz-text-decoration-color .25s ease;transition:color .25s ease,text-decoration-color .25s ease;transition:color .25s ease,text-decoration-color .25s ease,-webkit-text-decoration-color .25s ease,-moz-text-decoration-color .25s ease}a:visited{-webkit-text-decoration-color:hsl(280,12.5%,65%)!important;-moz-text-decoration-color:hsl(280,12.5%,65%)!important;text-decoration-color:#a99bb0!important;text-decoration-color:hsl(280,12.5%,65%)!important;-webkit-text-decoration-color:var(--overlay1)!important;-moz-text-decoration-color:var(--overlay1)!important;text-decoration-color:var(--overlay1)!important}.tooltip-wrapper:has(.tooltip:hover) a,a:hover{-webkit-text-decoration-color:hsl(295,52%,77%)!important;-moz-text-decoration-color:hsl(295,52%,77%)!important;text-decoration-color:#dea6e3!important;text-decoration-color:hsl(295,52%,77%)!important;-webkit-text-decoration-color:var(--accent)!important;-moz-text-decoration-color:var(--accent)!important;color:#dea6e3;color:hsl(295,52%,77%);color:var(--accent);text-decoration-color:var(--accent)!important}a:after{background-color:#dea6e3;background-color:hsl(295,52%,77%);background-color:var(--accent);content:"";display:inline-block;height:1em;width:1em;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="20px" viewBox="0 -960 960 960" width="20px" fill="black"><path d="M144-144v-672h336v72H216v528h528v-264h72v336H144Zm243-192-51-51 357-357H576v-72h240v240h-72v-117L387-336Z"/></svg>');margin-left:.1em;mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="20px" viewBox="0 -960 960 960" width="20px" fill="black"><path d="M144-144v-672h336v72H216v528h528v-264h72v336H144Zm243-192-51-51 357-357H576v-72h240v240h-72v-117L387-336Z"/></svg>');vertical-align:middle;-webkit-transform:translateY(-1px);-moz-transform:translateY(-1px);-ms-transform:translateY(-1px);-o-transform:translateY(-1px);transform:translateY(-1px)}a.web-button:after,a[href^="/"]:after{content:"";display:none}app{margin:0 0 1rem;max-width:100%;width:95%}@media (min-width:960px) and (orientation:landscape){app{width:100%}}main{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;min-height:100vh;width:100%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:start;-webkit-justify-content:flex-start;-moz-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;margin-top:1rem;-webkit-transform-style:preserve-3d;-moz-transform-style:preserve-3d;transform-style:preserve-3d;will-change:transform,opacity,filter;-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);-o-transform:translateY(0);transform:translateY(0);-webkit-filter:blur(0);filter:blur(0);opacity:1;-webkit-transition:.2s opacity,.2s -webkit-transform,.2s -webkit-filter;transition:.2s opacity,.2s -webkit-transform,.2s -webkit-filter;-o-transition:.2s opacity,.2s filter,.2s -o-transform;-moz-transition:.2s transform,.2s opacity,.2s filter,.2s -moz-transform;transition:.2s transform,.2s opacity,.2s filter;transition:.2s transform,.2s opacity,.2s filter,.2s -webkit-transform,.2s -moz-transform,.2s -o-transform,.2s -webkit-filter;-webkit-transform-origin:bottom center;-moz-transform-origin:bottom center;-ms-transform-origin:bottom center;-o-transform-origin:bottom center;transform-origin:bottom center;-webkit-transition-timing-function:cubic-bezier(.2,.2,.8,1);-moz-transition-timing-function:cubic-bezier(.2,.2,.8,1);-o-transition-timing-function:cubic-bezier(.2,.2,.8,1);transition-timing-function:cubic-bezier(.2,.2,.8,1)}main>*{width:100%}nav{margin-top:.35rem}nav a{margin-left:1rem}article{-webkit-box-flex:1;-webkit-flex-grow:1;-moz-box-flex:1;-ms-flex-positive:1;flex-grow:1}article>h1{margin-bottom:.25em;margin-top:.25em}.container{margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem;width:min(68rem,100%)}.content-with-image{width:min(68rem,100vw - 2rem)}.layout-container{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column;margin:0 auto;width:min(90pc,-webkit-calc(100% - 3pc));width:min(90pc,-moz-calc(100% - 3pc));width:min(90pc,calc(100% - 3pc));-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.background-container{background:#090609;background:hsla(305,20%,3.5%,.7);background:hsla(var(--crust-hsl),.7);border:1px solid #251e2a;border:1px solid hsl(275,17%,14%);border:1px solid var(--surface2);padding:.7rem}.top-blur{left:50%;position:absolute;top:0;-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);-ms-transform:translateX(-50%);-o-transform:translateX(-50%);height:8rem;pointer-events:none;transform:translateX(-50%);width:100vw;z-index:-1}.top-blur-layer{bottom:0;left:0;position:absolute;right:0;top:0;-webkit-backdrop-filter:blur(var(--blur)) brightness(1.1) saturate(.9) contrast(1.05);backdrop-filter:blur(var(--blur)) brightness(1.1) saturate(.9) contrast(1.05);-webkit-mask-image:-webkit-radial-gradient(50% 0,ellipse 75% 100%,#000 0,#000 var(--mid),transparent var(--end));mask-image:radial-gradient(ellipse 75% 100% at 50% 0,#000 0,#000 var(--mid),transparent var(--end))}.page-header{padding-bottom:.8rem!important;position:relative}.page-header h1{font-size:max(3.75rem,min(14vw,8.5rem));line-height:.95;-webkit-mask-image:-webkit-gradient(linear,left top,left bottom,color-stop(60%,#000),to(transparent));-webkit-mask-image:-webkit-linear-gradient(top,#000 60%,transparent 100%);margin:0!important;mask-image:-webkit-gradient(linear,left top,left bottom,color-stop(60%,#000),to(transparent));mask-image:linear-gradient(to bottom,#000 60%,transparent 100%)}.post-title{font-size:max(2.5rem,min(9vw,5rem))!important;padding-top:1.75rem}.page-header:not(:has(.post-title)) p{font-size:1.1rem;margin-left:.6rem;margin-top:-.75rem;position:relative}.sidebar{--nav-spread:0rem;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-moz-box-orient:horizontal;-moz-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-moz-box-pack:justify;-ms-flex-pack:justify;gap:.5rem;justify-content:space-between;min-height:3.5rem;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:max(.5rem,env(safe-area-inset-top)) 0 1rem;position:-webkit-sticky;position:sticky;top:0;z-index:10}.sidebar.scrolled{--nav-spread:max(0.5rem,min(2vw,1.25rem))}.sidebar .sidebar-nav,.sidebar .site-title-link{-webkit-transition:-webkit-transform .35s cubic-bezier(.22,1,.36,1);transition:-webkit-transform .35s cubic-bezier(.22,1,.36,1);-o-transition:-o-transform .35s cubic-bezier(.22,1,.36,1);-moz-transition:transform .35s cubic-bezier(.22,1,.36,1),-moz-transform .35s cubic-bezier(.22,1,.36,1);transition:transform .35s cubic-bezier(.22,1,.36,1);transition:transform .35s cubic-bezier(.22,1,.36,1),-webkit-transform .35s cubic-bezier(.22,1,.36,1),-moz-transform .35s cubic-bezier(.22,1,.36,1),-o-transform .35s cubic-bezier(.22,1,.36,1);will-change:transform}.sidebar .site-title-link{-webkit-transform:translateX(-webkit-calc(var(--nav-spread)*-1));-moz-transform:translateX(-moz-calc(var(--nav-spread)*-1));-ms-transform:translateX(calc(var(--nav-spread)*-1));-o-transform:translateX(calc(var(--nav-spread)*-1));transform:translateX(calc(var(--nav-spread)*-1))}.sidebar .sidebar-nav{-webkit-transform:translateX(var(--nav-spread));-moz-transform:translateX(var(--nav-spread));-ms-transform:translateX(var(--nav-spread));-o-transform:translateX(var(--nav-spread));transform:translateX(var(--nav-spread))}.sidebar footer{display:none}.sidebar-nav{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-moz-box-orient:horizontal;-moz-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;gap:.4rem;margin:0;min-width:0;overflow-x:auto;scrollbar-width:none}.sidebar-nav::-webkit-scrollbar{display:none}.nav-link{display:-webkit-inline-box;display:-webkit-inline-flex;display:-moz-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;color:#dea6e3!important;color:hsl(295,52%,77%)!important;color:var(--accent)!important;gap:.35rem;-webkit-text-decoration:none!important;font-size:1rem;text-decoration:none!important;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0}.nav-link svg{fill:currentColor;height:1em;vertical-align:-.125em;width:1em}.nav-link:hover{color:#9e8aa8!important;color:hsl(280,15%,60%)!important;color:var(--subtext1)!important}.nav-link.active{color:#fbf5ff!important;color:hsl(277.5,100%,98%)!important;color:var(--supertext)!important}.sidebar .background-container{background:#090609;background:hsla(305,20%,3.5%,.65);background:hsla(var(--crust-hsl),.65);padding:.4rem .7rem;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-color:#3a3041!important;border-color:hsla(275,15%,22.5%,.5)!important;border-color:hsla(var(--surface4-hsl),.5)!important;-webkit-transition:background .15s ease,border-color .15s ease;-o-transition:background .15s ease,border-color .15s ease;-moz-transition:background .15s ease,border-color .15s ease;transition:background .15s ease,border-color .15s ease}.sidebar .nav-link.background-container:hover{background:#090609;background:hsla(305,20%,3.5%,.85);background:hsla(var(--crust-hsl),.85);border-color:transparent!important}.site-title-link{-webkit-text-decoration:none!important;text-decoration:none!important;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0}.site-title-link,.site-title{display:-webkit-inline-box;display:-webkit-inline-flex;display:-moz-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center}.site-title{contain:paint layout;font-size:1.1rem;gap:.5rem;line-height:1.2;margin:0;overflow:hidden;-webkit-font-smoothing:none;font-smooth:none}.site-title span{font-size:1.7rem;z-index:90}.site-title-pfp{display:inline-block;-ms-interpolation-mode:nearest-neighbor;height:3rem;image-rendering:-webkit-optimize-contrast;image-rendering:-moz-crisp-edges;image-rendering:-o-pixelated;image-rendering:pixelated;-webkit-transform:scale(2.7) translateY(-15%) translateX(25%);-moz-transform:scale(2.7) translateY(-15%) translateX(25%);-ms-transform:scale(2.7) translateY(-15%) translateX(25%);-o-transform:scale(2.7) translateY(-15%) translateX(25%);transform:scale(2.7) translateY(-15%) translateX(25%);-webkit-transform-origin:top right;-moz-transform-origin:top right;-ms-transform-origin:top right;-o-transform-origin:top right;transform-origin:top right;width:auto;-webkit-mask-image:-webkit-linear-gradient(10deg,rgba(0,0,0,.95) 60%,transparent 90%);mask-image:linear-gradient(80deg,rgba(0,0,0,.95) 60%,transparent 90%);z-index:84}.main-content{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;max-width:100%;min-width:0;padding-bottom:1rem;view-transition-name:page-content;width:100%}@media (orientation:portrait){.layout-container{max-width:100%;padding:0 1rem env(safe-area-inset-bottom);width:100%}.sidebar{gap:.75rem;padding-left:.5rem;padding-right:.5rem}.sidebar-nav{gap:0;-webkit-box-pack:end;-webkit-justify-content:flex-end;-moz-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.page-name{display:none}.site-title{font-size:1rem}.site-title-pfp{height:1.5rem}.main-content{padding:.75rem 0}.blog-list{gap:1rem}.blog-item{background:#090609;background:hsla(305,20%,3.5%,.75);background:hsla(var(--crust-hsl),.75);border:1px solid #322839;border:1px solid hsl(275,17%,19%);border:1px solid var(--surface3)}}ul.compact{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:.25rem 0;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;list-style:none;margin:.25rem 0 0;padding:0}ul.compact>li{display:inline;margin:0;white-space:nowrap}ul.compact>li:after{content:"/";margin:0 .75rem;opacity:.6}ul.compact>li:last-child:after{content:"";margin:0}ul.compact a{-webkit-text-decoration:underline;text-decoration:underline;text-underline-offset:2px}li:not(:has(a)){-webkit-transform:translateY(-.25rem);-moz-transform:translateY(-.25rem);-ms-transform:translateY(-.25rem);-o-transform:translateY(-.25rem);transform:translateY(-.25rem)}ul:is(li).compact>span{margin-bottom:0}ul:is(li).compact>a{margin-bottom:0}li:has(a){margin-bottom:0}.tooltip-wrapper{cursor:pointer;display:inline-block;position:relative}.tooltip-wrapper:before{content:"";left:50%;position:absolute;top:100%;-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);-ms-transform:translateX(-50%);-o-transform:translateX(-50%);height:1rem;min-width:5rem;pointer-events:none;transform:translateX(-50%);width:100%;z-index:999}.tooltip-wrapper:hover:before{pointer-events:auto}.tooltip-wrapper:has(.tooltip.top):before{bottom:100%;top:auto}.tooltip{left:50%;position:absolute;top:-webkit-calc(100% + .5rem);top:-moz-calc(100% + .5rem);top:calc(100% + .5rem);-webkit-transform:translateX(-50%) translateY(-.25rem);-moz-transform:translateX(-50%) translateY(-.25rem);-ms-transform:translateX(-50%) translateY(-.25rem);-o-transform:translateX(-50%) translateY(-.25rem);background:#121014;background:hsl(275,12%,7.5%);background:var(--surface0);color:#f6e9fb;color:hsl(282.5,70%,95%);color:var(--text);padding:.25rem .5rem;transform:translateX(-50%) translateY(-.25rem);-webkit-border-radius:0;-moz-border-radius:0;border:.083rem solid #8e8198;border:.083rem solid hsl(275,10%,55%);border:.083rem solid var(--overlay0);border-radius:0;font-size:.875rem;white-space:pre-line;z-index:1000;-webkit-box-shadow:0 2px 8px hsla(293,27.5%,85%,.35);-moz-box-shadow:0 2px 8px hsla(293,27.5%,85%,.35);box-shadow:0 2px 8px hsla(293,27.5%,85%,.35);-webkit-box-shadow:0 2px 8px var(--tooltip-shadow);-moz-box-shadow:0 2px 8px var(--tooltip-shadow);box-shadow:0 2px 8px var(--tooltip-shadow);max-width:40rem;opacity:0;text-align:center;visibility:hidden;width:-webkit-max-content;width:-moz-max-content;width:max-content;-webkit-transition:opacity .15s ease-in-out,visibility .15s ease-in-out,-webkit-transform .15s ease-in-out;transition:opacity .15s ease-in-out,visibility .15s ease-in-out,-webkit-transform .15s ease-in-out;-o-transition:opacity .15s ease-in-out,visibility .15s ease-in-out,-o-transform .15s ease-in-out;-moz-transition:opacity .15s ease-in-out,visibility .15s ease-in-out,transform .15s ease-in-out,-moz-transform .15s ease-in-out;transition:opacity .15s ease-in-out,visibility .15s ease-in-out,transform .15s ease-in-out;transition:opacity .15s ease-in-out,visibility .15s ease-in-out,transform .15s ease-in-out,-webkit-transform .15s ease-in-out,-moz-transform .15s ease-in-out,-o-transform .15s ease-in-out;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;cursor:text;pointer-events:none;user-select:text}.tooltip:after{bottom:100%;content:"";left:50%;position:absolute;-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);-ms-transform:translateX(-50%);-o-transform:translateX(-50%);border:.525rem solid transparent;border-bottom:.525rem solid var(--overlay0);transform:translateX(-50%);z-index:1001}.tooltip:before{bottom:-webkit-calc(100% - 1px);bottom:-moz-calc(100% - 1px);bottom:calc(100% - 1px);content:"";left:50%;position:absolute;-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);-ms-transform:translateX(-50%);-o-transform:translateX(-50%);border:.5rem solid transparent;border-bottom:.5rem solid var(--surface0);transform:translateX(-50%);z-index:1002}.tooltip-wrapper:hover .tooltip,.tooltip:hover{opacity:1;pointer-events:auto;visibility:visible;-webkit-transform:translateX(-50%) translateY(0);-moz-transform:translateX(-50%) translateY(0);-ms-transform:translateX(-50%) translateY(0);-o-transform:translateX(-50%) translateY(0);transform:translateX(-50%) translateY(0)}.tooltip.top{bottom:-webkit-calc(100% + .5rem);bottom:-moz-calc(100% + .5rem);bottom:calc(100% + .5rem);top:auto;-webkit-transform:translateX(-50%) translateY(.25rem);-moz-transform:translateX(-50%) translateY(.25rem);-ms-transform:translateX(-50%) translateY(.25rem);-o-transform:translateX(-50%) translateY(.25rem);transform:translateX(-50%) translateY(.25rem)}.tooltip.top:after{border-bottom-color:transparent;border-top-color:#8e8198;border-top-color:hsl(275,10%,55%);border-top-color:var(--overlay0);bottom:auto;top:100%}.tooltip.top:before{border-bottom-color:transparent;border-top-color:#121014;border-top-color:hsl(275,12%,7.5%);border-top-color:var(--surface0);bottom:auto;top:-webkit-calc(100% - 1px);top:-moz-calc(100% - 1px);top:calc(100% - 1px)}.tooltip-wrapper:hover .tooltip.top,.tooltip.top:hover{-webkit-transform:translateX(-50%) translateY(0);-moz-transform:translateX(-50%) translateY(0);-ms-transform:translateX(-50%) translateY(0);-o-transform:translateX(-50%) translateY(0);transform:translateX(-50%) translateY(0)}.blog-list{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;margin:.8rem auto 0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.blog-item{border-bottom:1px solid hsl(275,17%,19%);border-bottom:1px solid var(--surface3);padding:1rem 1.25rem 1rem .75rem;position:relative}.blog-item h3{font-size:clamp(1.25rem,1.6vw + .5rem,2rem);font-variation-settings:"ELSH" 0!important;margin:0 0 .5rem;text-rendering:optimizeLegibility!important}.blog-item time{color:#ae9db9;color:hsl(277.5,17%,67%);color:var(--subtext0);display:block;font-size:.9rem}.blog-item.has-cover{overflow:hidden}.blog-item.has-cover:before{background-image:var(--cover-image);bottom:0;content:"";left:0;position:absolute;right:0;top:0;-webkit-background-size:cover;-moz-background-size:cover;-o-background-size:cover;background-position:90% 45%;background-size:cover;opacity:1;z-index:-1;-webkit-mask-image:-webkit-linear-gradient(135deg,rgba(0,0,0,.35) 40%,rgba(0,0,0,.25) 52.5%,transparent 80%);mask-image:linear-gradient(-45deg,rgba(0,0,0,.35) 40%,rgba(0,0,0,.25) 52.5%,transparent 80%)}.blog-item.has-cover .post-desc,.blog-item.has-cover .tag,.blog-item.has-cover h3,.blog-item.has-cover time{text-shadow:none}@media (prefers-color-scheme:dark){.blog-item.has-cover .post-desc,.blog-item.has-cover .tag,.blog-item.has-cover h3,.blog-item.has-cover time{text-shadow:0 1px 8px rgba(0,0,0,.3)}}.blog-item.has-cover .tag{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.blog-link{-webkit-text-decoration:none!important;display:block;text-decoration:none!important}.blog-list a.blog-link:focus-visible h3,.blog-list a.blog-link:hover h3{color:#fbf5ff;color:hsl(277.5,100%,98%);color:var(--supertext);-webkit-text-decoration:underline;text-decoration:underline;-webkit-text-decoration-color:hsl(280,15%,60%)!important;-moz-text-decoration-color:hsl(280,15%,60%)!important;text-decoration-color:#9e8aa8!important;text-decoration-color:hsl(280,15%,60%)!important;-webkit-text-decoration-color:var(--subtext1)!important;-moz-text-decoration-color:var(--subtext1)!important;text-decoration-color:var(--subtext1)!important}.blog-link:focus-visible{outline:1px dashed #dea6e3;outline:1px dashed hsl(295,52%,77%);outline:1px dashed var(--accent);outline-offset:10px}.blog-item:has(.blog-link:focus-visible){background:#dea6e3;background:hsla(295,52%,77%,.08);background:hsla(var(--accent-hsl),.08)}.blog-item.has-cover:has(.blog-link:focus-visible):before{opacity:.85}.post-desc{color:#ae9db9;color:hsl(277.5,17%,67%);color:var(--subtext0);margin-top:.5rem}.post-tags{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;margin-top:.5rem;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;gap:.5rem;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.post-tags .tag{background:#a99bb0;background:hsla(280,12.5%,65%,.25);background:hsla(var(--overlay1-hsl),.25);color:#fbf5ff;color:hsl(277.5,100%,98%);color:var(--supertext);padding:.15rem .5rem;-webkit-border-radius:999px;-moz-border-radius:999px;border:1px solid #c4b4ca;border:1px solid hsla(282.5,17.5%,75%,.3);border:1px solid hsla(var(--overlay2-hsl),.3);border-radius:999px;font-size:.8rem}.post-tags .material-symbols{color:#ae9db9;color:hsl(277.5,17%,67%);color:var(--subtext0)}.post-body,.post-header{padding:1.25rem!important}article.blog-content{line-height:1.9;margin:0 auto}article.blog-content .post-title{margin-bottom:.75rem;margin-top:0}article.blog-content h1{margin-top:0}article.blog-content h2{margin-top:2rem}article.blog-content p{margin-bottom:1rem;margin-top:0}article.blog-content .post-body{margin-top:1.5rem}article.blog-content blockquote{border-left:4px solid hsl(280,12.5%,65%);border-left:4px solid var(--overlay1);color:#9e8aa8;color:hsl(280,15%,60%);color:var(--subtext1);font-style:italic;font-variation-settings:"slnt" -5;margin-left:0;padding-left:1rem}article.blog-content img{height:auto;width:100%;-ms-interpolation-mode:nearest-neighbor;image-rendering:-webkit-optimize-contrast;image-rendering:-moz-crisp-edges;image-rendering:-o-pixelated;image-rendering:pixelated;text-align:center}article.blog-content .image-item{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column;width:100%}article.blog-content .image-item img{display:block;margin-left:auto;margin-right:auto;max-width:100%;width:auto;width:initial}cap{display:block}cap subt .material-symbols{color:#9e8aa8;color:hsl(280,15%,60%);color:var(--subtext1);font-size:1.5em;padding-bottom:3px;padding-right:5px;vertical-align:middle}cap subt:not(:has(.material-symbols)){color:#9e8aa8;color:hsl(280,15%,60%);color:var(--subtext1);padding-left:1.5rem}::view-transition-new(page),::view-transition-old(page){mix-blend-mode:normal}@-webkit-keyframes vt-slide-out{0%{-webkit-transform:translateX(0) rotateY(0deg) translateZ(0);opacity:1;transform:translateX(0) rotateY(0deg) translateZ(0);-webkit-filter:blur(0);filter:blur(0)}to{-webkit-transform:translateX(-100%) rotateY(-30deg) translateZ(-20pc);transform:translateX(-100%) rotateY(-30deg) translateZ(-20pc);-webkit-transform:translateX(-webkit-calc(var(--vt-direction,1)*-100%)) rotateY(-webkit-calc(var(--vt-direction,1)*-30deg)) translateZ(-20pc);transform:translateX(calc(var(--vt-direction, 1)*-100%)) rotateY(calc(var(--vt-direction, 1)*-30deg)) translateZ(-20pc);-webkit-filter:blur(6px);filter:blur(6px);opacity:0}}@-moz-keyframes vt-slide-out{0%{-moz-transform:translateX(0) rotateY(0deg) translateZ(0);filter:blur(0);opacity:1;transform:translateX(0) rotateY(0deg) translateZ(0)}to{-moz-transform:translateX(-100%) rotateY(-30deg) translateZ(-20pc);transform:translateX(-100%) rotateY(-30deg) translateZ(-20pc);-moz-transform:translateX(-moz-calc(var(--vt-direction,1)*-100%)) rotateY(-moz-calc(var(--vt-direction,1)*-30deg)) translateZ(-20pc);filter:blur(6px);opacity:0;transform:translateX(calc(var(--vt-direction, 1)*-100%)) rotateY(calc(var(--vt-direction, 1)*-30deg)) translateZ(-20pc)}}@-o-keyframes vt-slide-out{0%{filter:blur(0);opacity:1;transform:translateX(0) rotateY(0deg) translateZ(0)}to{filter:blur(6px);opacity:0;transform:translateX(-100%) rotateY(-30deg) translateZ(-20pc);transform:translateX(calc(var(--vt-direction, 1)*-100%)) rotateY(calc(var(--vt-direction, 1)*-30deg)) translateZ(-20pc)}}@keyframes vt-slide-out{0%{-webkit-transform:translateX(0) rotateY(0deg) translateZ(0);-moz-transform:translateX(0) rotateY(0deg) translateZ(0);opacity:1;transform:translateX(0) rotateY(0deg) translateZ(0);-webkit-filter:blur(0);filter:blur(0)}to{-webkit-transform:translateX(-100%) rotateY(-30deg) translateZ(-20pc);-moz-transform:translateX(-100%) rotateY(-30deg) translateZ(-20pc);transform:translateX(-100%) rotateY(-30deg) translateZ(-20pc);-webkit-transform:translateX(-webkit-calc(var(--vt-direction,1)*-100%)) rotateY(-webkit-calc(var(--vt-direction,1)*-30deg)) translateZ(-20pc);-moz-transform:translateX(-moz-calc(var(--vt-direction,1)*-100%)) rotateY(-moz-calc(var(--vt-direction,1)*-30deg)) translateZ(-20pc);transform:translateX(calc(var(--vt-direction, 1)*-100%)) rotateY(calc(var(--vt-direction, 1)*-30deg)) translateZ(-20pc);-webkit-filter:blur(6px);filter:blur(6px);opacity:0}}@-webkit-keyframes vt-slide-in{0%{-webkit-transform:translateX(100%) rotateY(30deg) translateZ(-20pc);transform:translateX(100%) rotateY(30deg) translateZ(-20pc);-webkit-transform:translateX(-webkit-calc(var(--vt-direction,1)*100%)) rotateY(-webkit-calc(var(--vt-direction,1)*30deg)) translateZ(-20pc);opacity:0;transform:translateX(calc(var(--vt-direction, 1)*100%)) rotateY(calc(var(--vt-direction, 1)*30deg)) translateZ(-20pc);-webkit-filter:blur(6px);filter:blur(6px)}to{-webkit-transform:translateX(0) rotateY(0deg) translateZ(0);opacity:1;transform:translateX(0) rotateY(0deg) translateZ(0);-webkit-filter:blur(0);filter:blur(0)}}@-moz-keyframes vt-slide-in{0%{-moz-transform:translateX(100%) rotateY(30deg) translateZ(-20pc);transform:translateX(100%) rotateY(30deg) translateZ(-20pc);-moz-transform:translateX(-moz-calc(var(--vt-direction,1)*100%)) rotateY(-moz-calc(var(--vt-direction,1)*30deg)) translateZ(-20pc);filter:blur(6px);opacity:0;transform:translateX(calc(var(--vt-direction, 1)*100%)) rotateY(calc(var(--vt-direction, 1)*30deg)) translateZ(-20pc)}to{-moz-transform:translateX(0) rotateY(0deg) translateZ(0);filter:blur(0);opacity:1;transform:translateX(0) rotateY(0deg) translateZ(0)}}@-o-keyframes vt-slide-in{0%{filter:blur(6px);opacity:0;transform:translateX(100%) rotateY(30deg) translateZ(-20pc);transform:translateX(calc(var(--vt-direction, 1)*100%)) rotateY(calc(var(--vt-direction, 1)*30deg)) translateZ(-20pc)}to{filter:blur(0);opacity:1;transform:translateX(0) rotateY(0deg) translateZ(0)}}@keyframes vt-slide-in{0%{-webkit-transform:translateX(100%) rotateY(30deg) translateZ(-20pc);-moz-transform:translateX(100%) rotateY(30deg) translateZ(-20pc);transform:translateX(100%) rotateY(30deg) translateZ(-20pc);-webkit-transform:translateX(-webkit-calc(var(--vt-direction,1)*100%)) rotateY(-webkit-calc(var(--vt-direction,1)*30deg)) translateZ(-20pc);-moz-transform:translateX(-moz-calc(var(--vt-direction,1)*100%)) rotateY(-moz-calc(var(--vt-direction,1)*30deg)) translateZ(-20pc);opacity:0;transform:translateX(calc(var(--vt-direction, 1)*100%)) rotateY(calc(var(--vt-direction, 1)*30deg)) translateZ(-20pc);-webkit-filter:blur(6px);filter:blur(6px)}to{-webkit-transform:translateX(0) rotateY(0deg) translateZ(0);-moz-transform:translateX(0) rotateY(0deg) translateZ(0);opacity:1;transform:translateX(0) rotateY(0deg) translateZ(0);-webkit-filter:blur(0);filter:blur(0)}}::view-transition-old(page){-webkit-animation:vt-slide-out .1s ease forwards;-moz-animation:vt-slide-out .1s ease forwards;-o-animation:vt-slide-out .1s ease forwards;animation:vt-slide-out .1s ease forwards;-webkit-animation:vt-slide-out var(--vt-duration) ease forwards;-moz-animation:vt-slide-out var(--vt-duration) ease forwards;-o-animation:vt-slide-out var(--vt-duration) ease forwards;animation:vt-slide-out var(--vt-duration) ease forwards}::view-transition-new(page){-webkit-animation:vt-slide-in .1s ease forwards;-moz-animation:vt-slide-in .1s ease forwards;-o-animation:vt-slide-in .1s ease forwards;animation:vt-slide-in .1s ease forwards;-webkit-animation:vt-slide-in var(--vt-duration) ease forwards;-moz-animation:vt-slide-in var(--vt-duration) ease forwards;-o-animation:vt-slide-in var(--vt-duration) ease forwards;animation:vt-slide-in var(--vt-duration) ease forwards}:root[data-vt-scope=splash] ::view-transition-new(page),:root[data-vt-scope=splash] ::view-transition-new(root),:root[data-vt-scope=splash] ::view-transition-old(page),:root[data-vt-scope=splash] ::view-transition-old(root){-webkit-animation:none!important;-moz-animation:none!important;-o-animation:none!important;animation:none!important;-webkit-animation-duration:0s!important;-moz-animation-duration:0s!important;-o-animation-duration:0s!important;animation-duration:0s!important;opacity:1!important;-webkit-transform:none!important;-moz-transform:none!important;-ms-transform:none!important;-o-transform:none!important;transform:none!important;-webkit-filter:none!important;filter:none!important;mix-blend-mode:normal!important}:root[data-vt-scope=splash] h1,:root[data-vt-scope=splash] main,:root[data-vt-scope=splash] nav,:root[data-vt-scope=splash] nav *{view-transition-name:none!important}@-webkit-keyframes transition-new{0%{opacity:0;-webkit-transform:translateY(5px);transform:translateY(5px);-webkit-filter:blur(4px);filter:blur(4px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0);-webkit-filter:blur(0);filter:blur(0)}}@-moz-keyframes transition-new{0%{opacity:0;-moz-transform:translateY(5px);filter:blur(4px);transform:translateY(5px)}to{opacity:1;-moz-transform:translateY(0);filter:blur(0);transform:translateY(0)}}@-o-keyframes transition-new{0%{opacity:0;-o-transform:translateY(5px);filter:blur(4px);transform:translateY(5px)}to{opacity:1;-o-transform:translateY(0);filter:blur(0);transform:translateY(0)}}@keyframes transition-new{0%{opacity:0;-webkit-transform:translateY(5px);-moz-transform:translateY(5px);-o-transform:translateY(5px);transform:translateY(5px);-webkit-filter:blur(4px);filter:blur(4px)}to{opacity:1;-webkit-transform:translateY(0);-moz-transform:translateY(0);-o-transform:translateY(0);transform:translateY(0);-webkit-filter:blur(0);filter:blur(0)}}@-webkit-keyframes transition-old{0%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0);-webkit-filter:blur(0);filter:blur(0)}to{opacity:0;-webkit-transform:translateY(-5px);transform:translateY(-5px);-webkit-filter:blur(4px);filter:blur(4px)}}@-moz-keyframes transition-old{0%{opacity:1;-moz-transform:translateY(0);filter:blur(0);transform:translateY(0)}to{opacity:0;-moz-transform:translateY(-5px);filter:blur(4px);transform:translateY(-5px)}}@-o-keyframes transition-old{0%{opacity:1;-o-transform:translateY(0);filter:blur(0);transform:translateY(0)}to{opacity:0;-o-transform:translateY(-5px);filter:blur(4px);transform:translateY(-5px)}}@keyframes transition-old{0%{opacity:1;-webkit-transform:translateY(0);-moz-transform:translateY(0);-o-transform:translateY(0);transform:translateY(0);-webkit-filter:blur(0);filter:blur(0)}to{opacity:0;-webkit-transform:translateY(-5px);-moz-transform:translateY(-5px);-o-transform:translateY(-5px);transform:translateY(-5px);-webkit-filter:blur(4px);filter:blur(4px)}}::view-transition-old(splash-message){-webkit-animation:transition-old .35s ease forwards;-moz-animation:transition-old .35s ease forwards;-o-animation:transition-old .35s ease forwards;animation:transition-old .35s ease forwards}::view-transition-new(splash-message){-webkit-animation:transition-new .35s ease forwards;-moz-animation:transition-new .35s ease forwards;-o-animation:transition-new .35s ease forwards;animation:transition-new .35s ease forwards}.livecard{display:block;-webkit-text-decoration:none;color:inherit;text-decoration:none}.livecard a:after,.livecard:after{display:none!important}.livecard-header{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;gap:.4rem;margin:0 0 .5rem}.livecard-header,.livecard-icon{-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center}.livecard-icon{display:-webkit-inline-box;display:-webkit-inline-flex;display:-moz-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;color:var(--supertext);font-size:1.2rem;justify-content:center;line-height:1}.livecard-icon,.livecard-platform{color:#fbf5ff;color:hsl(277.5,100%,98%)}.livecard-platform{color:var(--supertext);font-family:var(--font-display),sans-serif;font-size:1.05rem}.livecard-topbtn{-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;color:#ae9db9!important;color:hsl(277.5,17%,67%)!important;color:var(--subtext0)!important;justify-content:center;-webkit-text-decoration:none!important;font-size:1.2rem;line-height:1;text-decoration:none!important}.livecard-topbtn,.livecard-refresh{display:-webkit-inline-box;display:-webkit-inline-flex;display:-moz-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center}.livecard-refresh{background:none;border:none;color:#ae9db9;color:hsl(277.5,17%,67%);color:var(--subtext0);cursor:pointer;margin-left:auto;padding:.2rem;font:inherit}.livecard-header>:not(.livecard-icon):not(.livecard-platform):not(.livecard-stat)+.livecard-refresh{margin-left:.4rem}.livecard-refresh:hover{color:#f6e9fb;color:hsl(282.5,70%,95%);color:var(--text)}.livecard-refresh.refreshing{cursor:progress;opacity:.5}.livecard-badge,.livecard-stat,.livecard-when{color:#9e8aa8;color:hsl(280,15%,60%);color:var(--subtext1);font-size:.75rem;letter-spacing:.05em}.livecard-when{color:#84738c;color:hsl(280,10%,50%);color:var(--subtext2);margin-left:auto}.livecard-badge{margin-left:auto;text-transform:uppercase}.livecard-status{color:#84738c;color:hsl(280,10%,50%);color:var(--subtext2);font-size:.85rem;margin:auto;text-align:center}@-webkit-keyframes livecard-fade-in{0%{opacity:0;-webkit-filter:blur(8px);filter:blur(8px)}to{opacity:1;-webkit-filter:blur(0);filter:blur(0)}}@-moz-keyframes livecard-fade-in{0%{filter:blur(8px);opacity:0}to{filter:blur(0);opacity:1}}@-o-keyframes livecard-fade-in{0%{filter:blur(8px);opacity:0}to{filter:blur(0);opacity:1}}@keyframes livecard-fade-in{0%{opacity:0;-webkit-filter:blur(8px);filter:blur(8px)}to{opacity:1;-webkit-filter:blur(0);filter:blur(0)}}@-webkit-keyframes livecard-fade-in-plain{0%{opacity:0}to{opacity:1}}@-moz-keyframes livecard-fade-in-plain{0%{opacity:0}to{opacity:1}}@-o-keyframes livecard-fade-in-plain{0%{opacity:0}to{opacity:1}}@keyframes livecard-fade-in-plain{0%{opacity:0}to{opacity:1}}@-webkit-keyframes lastfm-bleed-fade-in{0%{opacity:0;-webkit-filter:brightness(.75) contrast(1.1) saturate(1.3) blur(8px);filter:brightness(.75) contrast(1.1) saturate(1.3) blur(8px)}to{opacity:1;-webkit-filter:brightness(.75) contrast(1.1) saturate(1.3) blur(.8px);filter:brightness(.75) contrast(1.1) saturate(1.3) blur(.8px)}}@-moz-keyframes lastfm-bleed-fade-in{0%{filter:brightness(.75) contrast(1.1) saturate(1.3) blur(8px);opacity:0}to{filter:brightness(.75) contrast(1.1) saturate(1.3) blur(.8px);opacity:1}}@-o-keyframes lastfm-bleed-fade-in{0%{filter:brightness(.75) contrast(1.1) saturate(1.3) blur(8px);opacity:0}to{filter:brightness(.75) contrast(1.1) saturate(1.3) blur(.8px);opacity:1}}@keyframes lastfm-bleed-fade-in{0%{opacity:0;-webkit-filter:brightness(.75) contrast(1.1) saturate(1.3) blur(8px);filter:brightness(.75) contrast(1.1) saturate(1.3) blur(8px)}to{opacity:1;-webkit-filter:brightness(.75) contrast(1.1) saturate(1.3) blur(.8px);filter:brightness(.75) contrast(1.1) saturate(1.3) blur(.8px)}}.livecard.is-initial .lastfm-track>.lastfm-art,.livecard.is-initial .lastfm-track>.lastfm-meta,.livecard.is-initial>.post{-webkit-animation:livecard-fade-in .35s ease-out;-moz-animation:livecard-fade-in .35s ease-out;-o-animation:livecard-fade-in .35s ease-out;animation:livecard-fade-in .35s ease-out}.livecard.is-initial>.fedi-post-bleed{-webkit-animation:livecard-fade-in .9s ease-out;-moz-animation:livecard-fade-in .9s ease-out;-o-animation:livecard-fade-in .9s ease-out;animation:livecard-fade-in .9s ease-out}.livecard.is-initial .lastfm-art-bleed{-webkit-animation:lastfm-bleed-fade-in .9s ease-out;-moz-animation:lastfm-bleed-fade-in .9s ease-out;-o-animation:lastfm-bleed-fade-in .9s ease-out;animation:lastfm-bleed-fade-in .9s ease-out}.livecard.is-initial .livecard-header .livecard-stat{-webkit-animation:livecard-fade-in-plain .18s ease-out;-moz-animation:livecard-fade-in-plain .18s ease-out;-o-animation:livecard-fade-in-plain .18s ease-out;animation:livecard-fade-in-plain .18s ease-out}@-webkit-keyframes livecard-refresh-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(2turn);transform:rotate(2turn)}}@-moz-keyframes livecard-refresh-spin{0%{-moz-transform:rotate(0);transform:rotate(0)}to{-moz-transform:rotate(2turn);transform:rotate(2turn)}}@-o-keyframes livecard-refresh-spin{0%{-o-transform:rotate(0);transform:rotate(0)}to{-o-transform:rotate(2turn);transform:rotate(2turn)}}@keyframes livecard-refresh-spin{0%{-webkit-transform:rotate(0);-moz-transform:rotate(0);-o-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(2turn);-moz-transform:rotate(2turn);-o-transform:rotate(2turn);transform:rotate(2turn)}}.livecard-refresh.spin .material-symbols{-webkit-animation:livecard-refresh-spin .7s cubic-bezier(.75,-.5,.25,1.5);-moz-animation:livecard-refresh-spin .7s cubic-bezier(.75,-.5,.25,1.5);-o-animation:livecard-refresh-spin .7s cubic-bezier(.75,-.5,.25,1.5);animation:livecard-refresh-spin .7s cubic-bezier(.75,-.5,.25,1.5);-webkit-transform-origin:50% 51%;-moz-transform-origin:50% 51%;-ms-transform-origin:50% 51%;-o-transform-origin:50% 51%;transform-origin:50% 51%}img{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.project-card *{-webkit-text-decoration:none!important;text-decoration:none!important}:root{--ctp-rosewater:#f5e0dc;--ctp-flamingo:#f2cdcd;--ctp-pink:#f5c2e7;--ctp-mauve:#cba6f7;--ctp-red:#f38ba8;--ctp-maroon:#eba0ac;--ctp-peach:#fab387;--ctp-yellow:#f9e2af;--ctp-green:#a6e3a1;--ctp-teal:#94e2d5;--ctp-sky:#89dceb;--ctp-sapphire:#74c7ec;--ctp-blue:#89b4fa;--ctp-lavender:#b4befe;--ctp-csubtext1:#bac2de;--ctp-csubtext0:#a6adc8;--ctp-coverlay2:#9399b2;--ctp-coverlay1:#7f849c;--ctp-coverlay0:#6c7086;--ctp-csurface2:#585b70;--ctp-csurface1:#45475a;--ctp-csurface0:#313244}.pl-c{color:#84738c;color:hsl(280,10%,50%);color:var(--subtext2);font-style:italic}.pl-c1,.pl-s .pl-v,.pl-e,.pl-en{color:#89b4fa;color:var(--ctp-blue)}.pl-s .pl-s1,.pl-smi{color:#fab387;color:var(--ctp-peach)}.pl-ent{color:#89b4fa;color:var(--ctp-blue)}.pl-k{color:#cba6f7;color:var(--ctp-mauve)}.pl-pds,.pl-s,.pl-s .pl-pse .pl-s1,.pl-sr,.pl-sr .pl-cce,.pl-sr .pl-sra,.pl-sr .pl-sre{color:#a6e3a1;color:var(--ctp-green)}.pl-smw,.pl-v{color:#fab387;color:var(--ctp-peach)}.pl-bu,.pl-ii{color:#f38ba8;color:var(--ctp-red)}.pl-ii{background:rgba(243,139,168,.15)}.pl-c2{background:rgba(243,139,168,.5);color:#f6e9fb;color:hsl(282.5,70%,95%);color:var(--text)}.pl-sr .pl-cce{color:#94e2d5;color:var(--ctp-teal);font-weight:bold}.pl-ml{color:#f9e2af;color:var(--ctp-yellow)}.pl-mh,.pl-mh .pl-en,.pl-ms{color:#f38ba8;color:var(--ctp-red);font-weight:bold}.pl-mi{font-style:italic}.pl-mi,.pl-mb{color:#f9e2af;color:var(--ctp-yellow)}.pl-mb{font-weight:bold}.pl-md{background:rgba(243,139,168,.25);color:var(--text)}.pl-md,.pl-mi1{color:#f6e9fb;color:hsl(282.5,70%,95%)}.pl-mi1{background:rgba(166,227,161,.25);color:var(--text)}.pl-mc{background:rgba(249,226,175,.25);color:var(--text)}.pl-mc,.pl-mi2{color:#f6e9fb;color:hsl(282.5,70%,95%)}.pl-mi2{background:rgba(137,180,250,.25);color:var(--text)}.pl-mdr{color:#cba6f7;color:var(--ctp-mauve);font-weight:bold}.pl-ba{color:#84738c;color:hsl(280,10%,50%);color:var(--subtext2)}.pl-sg{color:#585b70;color:var(--ctp-csurface2)}.pl-corl{-webkit-text-decoration:underline;color:#89b4fa;color:var(--ctp-blue);text-decoration:underline}@media (prefers-reduced-motion:reduce){*{-webkit-transition:none!important;-o-transition:none!important;-moz-transition:none!important;transition:none!important;-webkit-animation:none!important;-moz-animation:none!important;-o-animation:none!important;animation:none!important;scroll-behavior:auto!important}body{background-position:0 0}}