.post-meta[data-astro-cid-a2jndnws]{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem;font-size:.82rem;color:var(--text-meta-color);margin:.5rem 0 1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.meta-item[data-astro-cid-a2jndnws]{display:inline-flex;align-items:center;gap:.25rem}.meta-item[data-astro-cid-a2jndnws] i[data-astro-cid-a2jndnws]{font-size:.85rem}.meta-link[data-astro-cid-a2jndnws]:hover{color:var(--primary-color)}.post-nav[data-astro-cid-4wlwjcn3]{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:2rem}.nav-link[data-astro-cid-4wlwjcn3]{display:flex;flex-direction:column;gap:.3rem;padding:1rem;border-radius:.6rem;background:var(--grey-2);transition:background .2s ease}.nav-link[data-astro-cid-4wlwjcn3]:hover{background:var(--color-red-a1)}.nav-link[data-astro-cid-4wlwjcn3].next{text-align:right}.nav-label[data-astro-cid-4wlwjcn3]{font-size:.78rem;color:var(--text-meta-color)}.nav-title[data-astro-cid-4wlwjcn3]{font-size:.95rem;color:var(--grey-7)}.nav-link[data-astro-cid-4wlwjcn3]:hover .nav-title[data-astro-cid-4wlwjcn3]{color:var(--primary-color)}@media(max-width:768px){.post-nav[data-astro-cid-4wlwjcn3]{grid-template-columns:1fr}.nav-link[data-astro-cid-4wlwjcn3].next{text-align:left}}.markdown-body .project-explorer{--project-sidebar-width: 14rem;display:block;box-sizing:border-box;width:100%;height:34rem;margin:1.5rem 0;overflow:hidden;color:var(--grey-7);font-family:var(--font-sans);line-height:1.5;background:var(--box-bg);border:1px solid var(--grey-3);border-radius:.5rem;box-shadow:0 .3125rem .625rem -.125rem var(--grey-9-a1)}.markdown-body .project-titlebar{position:relative;display:flex;align-items:center;min-height:2.5rem;padding:0 .8rem 0 5rem;color:var(--grey-6);background:var(--grey-3);border-bottom:1px solid var(--border-color);user-select:none;-webkit-user-select:none}.markdown-body .project-dots{position:absolute;top:50%;left:1rem;width:.75rem;height:.75rem;margin-top:-.375rem;background:#fc625d;border-radius:50%;box-shadow:1.25rem 0 #fdbc40,2.5rem 0 #35cd4b}.markdown-body .project-identity{display:flex;flex:1 1 auto;align-items:center;gap:.45rem;min-width:0;font-size:.8rem}.markdown-body .project-identity i{flex:0 0 auto;color:var(--color-orange);font-size:.82rem}.markdown-body .project-identity strong{overflow:hidden;color:var(--grey-7);font-weight:700;letter-spacing:0;text-overflow:ellipsis;white-space:nowrap}.markdown-body .project-fullscreen-button{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;margin-left:.75rem;padding:0;color:var(--grey-5);background:transparent;border:0;border-radius:.3rem;cursor:pointer;transition:color .2s ease,background .2s ease}.markdown-body .project-fullscreen-button:hover{color:var(--grey-7);background:var(--grey-9-a1)}.markdown-body .project-fullscreen-button:focus-visible{outline:2px solid var(--color-blue);outline-offset:-2px}.markdown-body .project-fullscreen-button i{font-size:.85rem}.markdown-body .project-workspace{display:grid;grid-template-columns:var(--project-sidebar-width) minmax(0,1fr);height:calc(100% - 2.5rem);min-height:0}.markdown-body .project-sidebar{display:flex;min-width:0;min-height:0;flex-direction:column;background:color-mix(in srgb,var(--grey-2) 72%,var(--box-bg));border-right:1px solid var(--border-color)}.markdown-body .project-sidebar-heading{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;min-height:2.25rem;padding:0 .75rem;color:var(--grey-5);font-size:.68rem;font-weight:700;letter-spacing:0;text-transform:uppercase;border-bottom:1px solid var(--border-color)}.markdown-body .project-sidebar-title{display:inline-flex;align-items:baseline;gap:.35rem;min-width:0}.markdown-body .project-sidebar-title small{color:var(--grey-5);font-size:inherit;font-weight:500;letter-spacing:0;text-transform:none}.markdown-body .project-file-count{font-variant-numeric:tabular-nums}.markdown-body .project-tree-scroll{flex:1 1 auto;min-height:0;padding:.45rem;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--grey-4) transparent}.markdown-body .project-tree{margin:0;padding:0;list-style:none}.markdown-body .project-tree[data-depth]:not([data-depth="0"]){margin-left:.7rem;padding-left:.45rem;border-left:1px solid color-mix(in srgb,var(--grey-4) 55%,transparent)}.markdown-body .project-tree li{margin:0;padding:0;list-style:none}.markdown-body .project-tree li:before{content:none}.markdown-body .project-tree details{margin:0}.markdown-body .project-tree summary,.markdown-body .tree-file{box-sizing:border-box;display:flex;align-items:center;gap:.45rem;width:100%;min-width:0;min-height:2rem;margin:0;padding:.25rem .55rem;color:var(--grey-6);font:500 .78rem/1.35 var(--font-sans);letter-spacing:0;text-align:left;background:transparent;border:0;border-radius:.25rem;cursor:pointer;user-select:none;-webkit-user-select:none}.markdown-body .project-tree summary{list-style:none}.markdown-body .project-tree summary::-webkit-details-marker{display:none}.markdown-body .project-tree summary:hover,.markdown-body .tree-file:hover{color:var(--grey-8);background:var(--grey-3)}.markdown-body .project-tree summary:focus-visible,.markdown-body .tree-file:focus-visible{outline:2px solid var(--color-blue);outline-offset:-2px}.markdown-body .tree-chevron{flex:0 0 auto;width:.7rem;color:var(--grey-5);font-size:.65rem;text-align:center;transition:transform .15s ease}.markdown-body .project-tree details[open]>summary .tree-chevron{transform:rotate(90deg)}.markdown-body .folder-icon{position:relative;flex:0 0 auto;box-sizing:border-box;width:.9rem;height:.68rem;margin-top:.14rem;background:#d6a03d;border-radius:.12rem}.markdown-body .folder-icon:before{content:"";position:absolute;left:.08rem;bottom:100%;width:.42rem;height:.18rem;background:#d6a03d;border-radius:.1rem .1rem 0 0}.markdown-body .tree-file{padding-left:1.7rem}.markdown-body .tree-file.active{color:var(--grey-8);background:color-mix(in srgb,var(--color-blue) 12%,var(--box-bg));box-shadow:inset .15rem 0 var(--color-blue)}.markdown-body .tree-file-icon{flex:0 0 auto;width:.9rem;color:var(--grey-5);font-size:.82rem;text-align:center}.markdown-body .tree-file:is([data-language=typescript],[data-language=tsx]) .tree-file-icon{color:#3178c6}.markdown-body .tree-file:is([data-language=javascript],[data-language=jsx]) .tree-file-icon{color:#b39500}.markdown-body .tree-file:is([data-language=css],[data-language=scss]) .tree-file-icon{color:#8a4f9e}.markdown-body .tree-file:is([data-language=json],[data-language=jsonc]) .tree-file-icon{color:var(--color-green)}.markdown-body .tree-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.markdown-body .project-preview{display:flex;min-width:0;min-height:0;flex-direction:column;background:var(--grey-2)}.markdown-body .project-code-scroll{flex:1 1 auto;min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-color:var(--grey-4) transparent}.markdown-body .project-code-scroll:focus-visible{outline:2px solid var(--color-blue);outline-offset:-2px}.markdown-body .project-file-panel{min-width:max-content;min-height:100%}.markdown-body .project-file-panel[hidden]{display:none}.markdown-body .project-file-panel pre.project-code-block{min-width:100%;min-height:100%;margin:0;overflow:visible;font-family:var(--font-mono);font-size:.82rem;line-height:1.65;border-radius:0;box-shadow:none}.markdown-body .project-file-panel pre.project-code-block>code{box-sizing:border-box;min-width:100%;padding:1rem 1.2rem 2rem;overflow:visible}.markdown-body .project-explorer.project-fullscreen{position:fixed;inset:0;z-index:10000;width:100vw;height:100vh;margin:0;background:var(--body-bg);border:0;border-radius:0}body.project-fullscreen-open{overflow:hidden}@media(max-width:640px){.markdown-body .project-explorer{height:40rem}.markdown-body .project-titlebar{padding-right:.6rem;padding-left:4.25rem}.markdown-body .project-workspace{grid-template-rows:12rem minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.markdown-body .project-sidebar{border-right:0;border-bottom:1px solid var(--border-color)}}@media(prefers-reduced-motion:reduce){.markdown-body .tree-chevron{transition:none}}body{--body-bg: var(--grey-1);background-color:var(--grey-1)}.post-title[data-astro-cid-egg7nqdx]{margin:0 0 .5rem;font-size:1.8rem}
