@font-face{font-family:Valkyrie B;font-style:normal;font-weight:400;font-stretch:100%;font-display:optional;src:url(/fonts/Valkyrie/valkyrie_b_regular.woff)format("woff2")}@font-face{font-family:Valkyrie B;font-style:italic;font-weight:400;font-stretch:100%;font-display:optional;src:url(/fonts/Valkyrie/valkyrie_b_italic.woff)format("woff2")}@font-face{font-family:Valkyrie B;font-style:normal;font-weight:700;font-stretch:100%;font-display:optional;src:url(/fonts/Valkyrie/valkyrie_b_bold.woff)format("woff2")}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono/JetBrainsMonoNerdFontMono-Medium.woff)format("woff2");font-weight:400;font-style:normal}:root{--background:#fcfbfa;--background-rgb:252, 251, 250;--content-secondary:#6b6560;--content-primary:#141413;--code-background:#f0eeea;--code-border:#c0bcb2;--body-font:"Valkyrie B", "Gayathri", serif;--mono-font:"JetBrains Mono", monospace;--nav-font:var(--body-font);--main-width:580px;--main-padding:1.4em;--nav-max-size:1.3rem;--nav-min-size:.85rem;--nav-gap-max:1.5rem;--nav-gap:var(--nav-gap-max);--nav-scale:var(--nav-max-size);--h1-font-size:2em;--p-font-size:1em;--p-line-height:1.5em}.dark{--content-primary:#f0efea;--content-secondary:#8c8c8c;--background:#141413;--background-rgb:20, 20, 19;--code-background:#1e1e1e;--code-border:#323232}*,:after,:before{box-sizing:border-box}html{-webkit-tap-highlight-color:transparent;scroll-behavior:smooth;overflow-y:scroll}html:not(.dark){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{font-family:var(--body-font);padding-left:var(--main-padding);padding-right:var(--main-padding);color:var(--content-primary);background:var(--background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:auto;font-size:16.6667px;line-height:1.6}.header{z-index:100;background:var(--background);justify-content:flex-end;padding:1.5rem 2rem;transition:transform .3s;display:flex;position:fixed;top:0;left:0;right:0;transform:translateY(0)}.header-nav{--nav-icon-scale:clamp(.75rem, calc(var(--nav-scale) * .85), .95rem);--nav-icon-offset:.14em;align-items:center;gap:var(--nav-gap);justify-content:flex-end;width:100%;display:flex;position:relative}.header-nav__menu{align-items:center;gap:var(--nav-gap);display:flex}.header-nav a,.header-nav__link{font-family:var(--nav-font);font-variant-caps:all-small-caps;font-size:var(--nav-scale);white-space:nowrap;color:var(--content-secondary);line-height:1;text-decoration:none;transition:color .2s}.header-nav a:hover,.header-nav__link:hover,.header-nav__link--active{color:var(--content-primary)}.hamburger{cursor:pointer;z-index:101;background:0 0;border:none;flex-direction:column;justify-content:center;gap:4px;padding:4px;display:none}.hamburger__line{background:var(--content-secondary);border-radius:1px;width:20px;height:2px;transition:transform .3s,opacity .3s}.hamburger:hover .hamburger__line{background:var(--content-primary)}@media (width<=640px){.header{padding:1rem 1.25rem}.hamburger{z-index:102;width:28px;height:28px;padding:0;display:flex;position:relative}.hamburger__line{background:var(--content-primary);width:20px;height:1.5px;position:absolute;left:4px}.hamburger__line:first-child{top:8px}.hamburger__line:nth-child(2){top:13px}.hamburger__line:nth-child(3){top:18px}.hamburger.is-open .hamburger__line:first-child{transform:translateY(5px)rotate(45deg)}.hamburger.is-open .hamburger__line:nth-child(2){opacity:0}.hamburger.is-open .hamburger__line:nth-child(3){transform:translateY(-5px)rotate(-45deg)}.header-nav__menu{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:101;opacity:0;visibility:hidden;background:#ffffffd9;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;width:100vw;height:100vh;transition:opacity .3s,visibility .3s;position:fixed;inset:0}html[data-theme=dark] .header-nav__menu{background:#141414e0}.header-nav__menu.is-open{opacity:1;visibility:visible}.header-nav__menu .header-nav__link{text-transform:lowercase;padding:.75rem 1rem;font-size:1.75rem;font-variant-caps:normal}}.theme-toggle{cursor:pointer;color:var(--content-secondary);background:0 0;border:none;justify-content:center;align-items:center;padding:0;line-height:1;transition:color .2s;display:flex}.theme-toggle svg{width:var(--nav-icon-scale);height:var(--nav-icon-scale);transform:translateY(var(--nav-icon-offset));display:block}.theme-toggle:hover{color:var(--content-primary)}.theme-toggle__icon--sun,.theme-toggle__icon--moon{display:none}html[data-theme=dark] .theme-toggle__icon--sun,html[data-theme=light] .theme-toggle__icon--moon{display:block}.lang-dropdown{align-items:center;display:inline-flex;position:relative}.lang-dropdown__toggle{font-family:var(--nav-font);text-transform:lowercase;font-variant-caps:all-small-caps;font-size:var(--nav-scale);white-space:nowrap;color:var(--content-secondary);cursor:pointer;background:0 0;border:none;padding:0;line-height:1;transition:color .2s}.lang-dropdown__toggle:hover{color:var(--content-primary)}.lang-dropdown__menu{background:var(--background);opacity:0;visibility:hidden;z-index:200;min-width:3rem;padding:.4rem 0;transition:opacity .2s,transform .2s,visibility .2s;position:absolute;top:calc(100% + .5rem);left:50%;transform:translate(-50%)translateY(-4px)}.lang-dropdown:hover .lang-dropdown__menu{opacity:1;visibility:visible;transform:translate(-50%)translateY(0)}.lang-dropdown__item{font-family:var(--nav-font);text-transform:lowercase;font-variant-caps:all-small-caps;font-size:var(--nav-scale);color:var(--content-secondary);text-align:center;padding:.3rem .5rem;line-height:1;text-decoration:none;transition:color .2s;display:block}.lang-dropdown__item:hover{color:var(--content-primary)}.page-container{width:100%;max-width:var(--main-width);margin-left:auto;margin-right:auto;padding-top:4rem;display:block;position:relative}.list-container{max-width:var(--main-width);margin:0 auto;padding-bottom:3rem}.list-title{font-size:var(--h1-font-size);color:var(--content-primary);margin-top:2rem;margin-bottom:2rem;font-weight:400}.post-list{margin:0;padding:0;list-style:none}.post-item{padding:.6rem 0}.post-link{color:var(--content-primary);justify-content:space-between;align-items:baseline;gap:1rem;text-decoration:none;transition:color .2s;display:flex}.post-link:hover{color:var(--content-secondary)}.post-link:hover .post-date{color:var(--content-primary)}.post-title{font-size:var(--p-font-size);line-height:1.4}.post-star{color:gold;margin-left:.3rem;font-size:.85em}.post-date{font-family:"Valkyrie B Caps", var(--body-font);font-variant-numeric:tabular-nums lining-nums;color:var(--content-secondary);white-space:nowrap;font-size:.75rem;transition:color .2s}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}h1{font-size:var(--h1-font-size);margin-top:2rem;margin-bottom:1.5rem;font-weight:400}h2{margin-top:2rem;margin-bottom:1.5rem;font-size:1.8em;font-weight:400}h3,h4,h5,h6{margin-top:1.5rem;margin-bottom:1rem;font-size:1.3em;font-weight:400}p{font-size:var(--p-font-size);line-height:var(--p-line-height);margin-top:1rem;margin-bottom:1rem}pre{border:1px solid var(--code-border);border-radius:10px;margin-top:2rem;margin-bottom:2rem;padding:1.5rem;line-height:1.3em;overflow:auto scroll;background-color:var(--code-background)!important}code{font-family:var(--mono-font);background:0 0;border-radius:3px;padding:2px;font-size:.9em}pre code{padding:0;background:0 0!important}.hljs{padding:0;background:var(--code-background)!important}.post-content{line-height:var(--p-line-height)}.post-content h1,.post-content h2,.post-content h3,.post-content h4,.post-content h5,.post-content h6{color:var(--content-primary)}.post-content a{color:var(--content-primary);text-decoration:underline}.post-content ul,.post-content ol{margin-top:1rem;margin-bottom:1rem;padding-left:1rem}.post-content li{margin-bottom:.5rem}.katex{font:1.05em KaTeX_Main,Times New Roman,serif!important}.katex-display{overflow:auto hidden}.light .chroma{color:#3c3836;background-color:var(--code-background)}.light .chroma .k,.light .chroma .kc,.light .chroma .kd,.light .chroma .kn,.light .chroma .kp,.light .chroma .kr{color:#af3a03}.light .chroma .kt{color:#b57614}.light .chroma .na{color:#79740e;font-weight:700}.light .chroma .nb{color:#b57614}.light .chroma .no{color:#d3869b}.light .chroma .ni{color:#b57614}.light .chroma .ne{color:#fb4934}.light .chroma .nf{color:#b57614}.light .chroma .nl,.light .chroma .nt{color:#9d0006}.light .chroma .s,.light .chroma .sa,.light .chroma .sb,.light .chroma .sc,.light .chroma .dl,.light .chroma .sd,.light .chroma .s2,.light .chroma .se,.light .chroma .sh,.light .chroma .si,.light .chroma .sx,.light .chroma .sr,.light .chroma .s1{color:#79740e}.light .chroma .ss{color:#076678}.light .chroma .m,.light .chroma .mb,.light .chroma .mf,.light .chroma .mh,.light .chroma .mi,.light .chroma .il,.light .chroma .mo{color:#8f3f71}.light .chroma .o,.light .chroma .ow{color:#af3a03}.light .chroma .c,.light .chroma .ch,.light .chroma .cm,.light .chroma .c1,.light .chroma .cs{color:#928374;font-style:italic}.light .chroma .cp,.light .chroma .cpf{color:#427b58}.dark .chroma{color:#ebdbb2;background-color:#282828}.dark .chroma .k,.dark .chroma .kc,.dark .chroma .kd,.dark .chroma .kn,.dark .chroma .kp,.dark .chroma .kr{color:#fe8019}.dark .chroma .kt{color:#fabd2f}.dark .chroma .na{color:#b8bb26;font-weight:700}.dark .chroma .nb{color:#fabd2f}.dark .chroma .no{color:#d3869b}.dark .chroma .ni{color:#fabd2f}.dark .chroma .ne{color:#fb4934}.dark .chroma .nf{color:#fabd2f}.dark .chroma .nl,.dark .chroma .nt{color:#fb4934}.dark .chroma .s,.dark .chroma .sa,.dark .chroma .sb,.dark .chroma .sc,.dark .chroma .dl,.dark .chroma .sd,.dark .chroma .s2,.dark .chroma .se,.dark .chroma .sh,.dark .chroma .si,.dark .chroma .sx,.dark .chroma .sr,.dark .chroma .s1{color:#b8bb26}.dark .chroma .ss{color:#83a598}.dark .chroma .m,.dark .chroma .mb,.dark .chroma .mf,.dark .chroma .mh,.dark .chroma .mi,.dark .chroma .il,.dark .chroma .mo{color:#d3869b}.dark .chroma .o,.dark .chroma .ow{color:#fe8019}.dark .chroma .c,.dark .chroma .ch,.dark .chroma .cm,.dark .chroma .c1,.dark .chroma .cs{color:#928374;font-style:italic}.dark .chroma .cp,.dark .chroma .cpf{color:#8ec07c}.light .hljs{color:#3c3836;background:var(--code-background)}.light .hljs-keyword{color:#af3a03}.light .hljs-built_in,.light .hljs-type{color:#b57614}.light .hljs-literal,.light .hljs-number{color:#8f3f71}.light .hljs-string,.light .hljs-regexp{color:#79740e}.light .hljs-comment{color:#928374;font-style:italic}.light .hljs-function,.light .hljs-title{color:#b57614}.light .hljs-params{color:#3c3836}.light .hljs-tag,.light .hljs-name{color:#9d0006}.light .hljs-attr{color:#79740e;font-weight:700}.dark .hljs{color:#ebdbb2;background:#282828}.dark .hljs-keyword{color:#fe8019}.dark .hljs-built_in,.dark .hljs-type{color:#fabd2f}.dark .hljs-literal,.dark .hljs-number{color:#d3869b}.dark .hljs-string,.dark .hljs-regexp{color:#b8bb26}.dark .hljs-comment{color:#928374;font-style:italic}.dark .hljs-function,.dark .hljs-title{color:#fabd2f}.dark .hljs-params{color:#ebdbb2}.dark .hljs-tag,.dark .hljs-name{color:#fb4934}.dark .hljs-attr{color:#b8bb26;font-weight:700}
