@charset "UTF-8";#texture{position:fixed;top:0;left:0;bottom:0;z-index:-1;width:100%;height:calc(100svh + 200px);height:calc(100vh + 200px);opacity:.25;pointer-events:none;transform:translateY(0);filter:contrast(30%) brightness(30%)}:root.🌞 #texture{filter:contrast(90%) brightness(100%);opacity:.15}.theme-toggle{background-color:inherit;border:0;padding:8px;cursor:pointer;color:currentcolor}svg.theme-icon>path{display:block;stroke:currentcolor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:none;transform-origin:center}svg.theme-icon>path.sun{display:none}:root.🌞 svg.theme-icon>path.sun{display:block}:root.🌞 svg.theme-icon>path.moon{display:none}.link{position:relative;display:inline-block;text-decoration:none;color:var(--color-text);font-size:inherit;line-height:1;outline:0;padding:.125ex .35ex;border-radius:8px;border:1px solid var(--color-text);background:linear-gradient(to right,transparent 50%,var(--color-text) 50%);background-size:200% 100%;background-position:0 0;transition:color .2s ease,background-position .2s ease}.link[aria-current=page]{background-position:-100%0;color:var(--color-background);cursor:default}.link>*{user-select:none}@media screen and (hover:hover){.link:hover{text-decoration:none}.link:is(:hover:not([aria-current=page]),:focus-visible){color:var(--color-background);background-position:-100%0}}nav#bottom-nav{position:fixed;bottom:1rem;inset-inline:0;margin-inline:auto;width:fit-content;transform:translateY(150%);border-radius:9999px;border:1px solid var(--color-border);z-index:999;transition:transform .3s ease-out;will-change:transform;padding:6px 12px;background-color:var(--color-surface);view-transition-name:bottom-nav}:root.🌞 nav#bottom-nav{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}::view-transition-group(bottom-nav){z-index:100}nav#bottom-nav.visible{transform:translateY(0)}.nav-container,.nav-section{display:flex;align-items:center;gap:var(--space-3xs)}.nav-divider{width:1px;height:1.75rem;background-color:var(--color-border);margin:0 var(--space-xs)}.nav-item{padding:6px;color:var(--color-text);background-color:inherit;display:flex;align-items:center;border-radius:var(--button-radius);cursor:pointer;border:0}.nav-item:has(svg){padding:4px}.nav-item svg{width:28px;height:28px;max-width:28px;max-height:28px}.nav-link{position:relative;isolation:isolate;font-size:1.75rem;font-weight:600;text-transform:uppercase;letter-spacing:-.025em}@supports (text-box:trim-both cap alphabetic){.nav-link span{text-box:trim-both cap alphabetic}}@supports not (text-box:trim-both cap alphabetic){.nav-link span{line-height:1;margin-bottom:-.25ex}}.nav-link[aria-current=page]:before{content:"";position:absolute;inset:50%0 0 50%;transform:translate(-50%,-50%);width:100%;height:100%;background-color:var(--hover-background);z-index:-1;border-radius:var(--button-radius);view-transition-name:active-nav}::view-transition-group(active-nav){z-index:1000;animation-timing-function:ease-out;animation-duration:.3s}::view-transition-old(active-nav),::view-transition-new(active-nav){height:100%;mix-blend-mode:normal}.nav-section:last-child{border-right:none;padding-right:0}.nav-section:first-child{padding-left:0}@media screen and (hover:hover){.nav-link:hover{text-decoration:none}.nav-section .nav-item{transition:background-color .2s ease}.nav-section .nav-item:hover:not([aria-current=page]){background-color:var(--hover-background)}}@media screen and (max-width:672px){.nav-container{gap:var(--space-4xs)}.nav-link{font-size:1.5rem;padding:4px}nav#bottom-nav{bottom:.75rem;padding:4px 10px}.nav-divider{margin:0 var(--space-3xs)}.nav-item svg{width:24px;height:24px;max-width:24px;max-height:24px}}@media screen and (max-width:448px){.nav-link{font-size:1.25rem}.nav-item svg{width:22px;height:22px;max-width:22px;max-height:22px}nav#bottom-nav{padding:2px 8px}}.vertical-fade{position:fixed;pointer-events:none;user-select:none;width:100%;left:0;z-index:1000;backdrop-filter:blur(1px);opacity:0;transition:opacity .5s ease-out;height:clamp(100px,2.309vw + 90.432px,120px)}.vertical-fade.top{top:0;background:linear-gradient(to top,transparent,var(--color-fade));mask-image:linear-gradient(to bottom,var(--color-fade) 35%,transparent)}.vertical-fade.bottom{bottom:0;z-index:900;background:linear-gradient(to bottom,transparent,var(--color-fade));mask-image:linear-gradient(to top,var(--color-fade) 35%,transparent)}.vertical-fade.visible{opacity:1}footer{background:var(--bg-primary);border-top:1px solid var(--border-primary);margin-top:auto}.footer-content{max-width:var(--content-width-wide);margin:0 auto;padding:var(--space-l);text-align:center}.footer-content p{font-size:var(--text-sm);color:var(--text-tertiary);margin:0;font-weight:400}.footer-content a.footer-link{color:inherit;text-decoration:underline;text-underline-offset:.2em}@media screen and (hover:hover){.footer-content a.footer-link:hover{color:var(--text-primary)}}@media screen and (max-width:768px){.footer-content{padding:var(--space-l) var(--space-m)}}.header-link{color:var(--accent);display:inline-block;outline:0;font-weight:600;font-size:inherit;text-transform:uppercase}@media (hover:hover){.header-link{transition:color .2s ease}.header-link:is(:hover,:focus-visible){color:var(--color-text-highlight)}}.header-link[aria-current=page]{text-decoration:underline}#hamburger-button{display:flex;padding:var(--space-3xs) var(--space-2xs);color:var(--color-text-muted);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);cursor:pointer;z-index:1002;position:relative;transition:all .2s ease}@media screen and (hover:hover){#hamburger-button:hover{color:var(--color-text-highlight);border-color:var(--color-border-hover)}}#hamburger-button .hamburger-icon{color:inherit;position:relative;height:20px;width:20px;transform-origin:center;transition:transform .5s cubic-bezier(.8,.01,.11,.98)}#hamburger-button .line{position:absolute;left:50%;top:50%;height:2px;width:15px;transform-origin:center;transition:transform .5s cubic-bezier(.8,.01,.11,.98);background-color:currentcolor}#hamburger-button .top{transform:translate(-50%,calc(-50% - 5px)) rotate(0)}#hamburger-button .middle{transform:translate(-50%,-50%) scale(1)}#hamburger-button .bottom{transform:translate(-50%,calc(-50% + 5px)) rotate(0)}#hamburger-button.open .hamburger-icon{transform:rotate(90deg)}#hamburger-button.open .top{transform:translate(-50%,-50%) rotate(45deg)}#hamburger-button.open .middle{transform:translate(-50%,-50%) scale(0)}#hamburger-button.open .bottom{transform:translate(-50%,-50%) rotate(-45deg)}#search-trigger{font-size:var(--text-sm);display:flex;align-items:center;color:var(--color-text-muted);padding:var(--space-3xs) var(--space-2xs);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);gap:.2rem;font-weight:500;z-index:5;cursor:pointer;transition:color .2s ease,border-color .2s ease}#search-trigger span{line-height:1;font-variant:small-caps;text-box:trim-both cap alphabetic}#trigger-kbd{transform:translateY(2px);transition:color .2s ease,border-color .2s ease}#trigger-kbd span{text-box:trim-both cap alphabetic}#trigger-kbd span:first-child{font-size:18px}dialog[data-search-dialog]{interpolate-size:allow-keywords;width:clamp(min(100%,400px),90vw,512px);height:fit-content;max-height:calc(90vh - 3rem);margin:2rem auto 1rem;border:1px solid var(--color-border);border-radius:var(--radius-card);padding:var(--space-s);background-color:var(--color-background);overflow:clip;opacity:0;transform:translate3d(0,-10svh,0) scale(.9)}@media (prefers-reduced-motion:no-preference){dialog[data-search-dialog]{transition:opacity .2s ease-out,transform .2s ease-out,display .2s ease-out allow-discrete,overlay .2s ease-out allow-discrete;transition-behavior:allow-discrete}}dialog[data-search-dialog][open]{opacity:1;transform:translateZ(0) scale(1)}@media (prefers-reduced-motion:no-preference){dialog[data-search-dialog][open]{transition:opacity .25s ease-in,transform .25s ease-in,display .25s ease-in allow-discrete,overlay .25s ease-in allow-discrete;transition-behavior:allow-discrete}}@starting-style{dialog[data-search-dialog][open]{opacity:0;transform:translate3d(0,-10svh,0) scale(.9)}}@media (max-width:512px){dialog[data-search-dialog]{margin:1rem auto .5rem;padding:var(--space-xs);width:clamp(min(100%,320px),95vw,400px)}}dialog[data-search-dialog]::backdrop{backdrop-filter:blur(0);background-color:transparent}@media (prefers-reduced-motion:no-preference){dialog[data-search-dialog]::backdrop{transition:background-color .2s ease-out,backdrop-filter .2s ease-out}}dialog[data-search-dialog][open]::backdrop{backdrop-filter:blur(4px);background-color:#00000026}@media (prefers-reduced-motion:no-preference){dialog[data-search-dialog][open]::backdrop{transition:background-color .25s ease-in,backdrop-filter .25s ease-in}}@starting-style{dialog[data-search-dialog][open]::backdrop{backdrop-filter:blur(0);background-color:transparent}}:root.🌞 dialog[data-search-dialog][open]{box-shadow:0 15px 20px -5px #0000001f,0 8px 10px -6px #0000001f}.search-box-icon{width:32px;height:32px;padding:0;background:0 0;border:0;color:var(--color-icon);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-card);flex:0 0 auto}@media (max-width:512px){.search-box-icon{padding:var(--space-3xs)}}.search-box-icon svg{width:28px;min-width:28px;max-width:28px;flex-shrink:0}.search-input-wrap{position:relative;flex:1;min-width:0;display:grid}@media (max-width:512px){.search-box-icon svg{width:24px;min-width:24px;max-width:24px}}search{display:flex;align-items:center;gap:var(--space-2xs);padding-inline:var(--space-xs);border:1px solid var(--color-border);border-radius:var(--radius-card);position:relative;overflow:hidden;transition:border-color .2s ease;background:var(--color-background);box-shadow:inset 0 0 0 1px var(--color-border);height:44px;max-height:none;margin-bottom:.25em}search:has(input:focus){border-color:var(--color-border-hover)}input#search-input{grid-area:1/1;width:100%;background:0 0;border:0;outline:0;color:var(--color-text);resize:none;max-height:none;height:100%;line-height:1;padding-left:0;padding-block:0;position:relative;z-index:1;font-family:inherit;font-size:inherit;font-weight:inherit;font-style:inherit;letter-spacing:inherit}input#search-input::placeholder{margin-left:2px;color:var(--color-text-muted);transition:color .2s ease;opacity:.45;font-size:inherit;font-weight:inherit}.search-autocomplete{grid-area:1/1;height:100%;display:flex;align-items:center;padding-left:0;pointer-events:none;user-select:none;color:var(--color-text-muted);opacity:.45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:inherit;font-size:inherit;font-weight:inherit;font-style:inherit;letter-spacing:inherit}.search-autocomplete .ac-prefix{color:transparent}.search-autocomplete .ac-suffix{color:inherit}button#clear-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-card);background:0 0;opacity:1;transform:translateY(0);cursor:pointer;color:var(--color-icon);transition:opacity .3s ease-out,transform .3s ease-out,color .2s ease,background-color .2s ease}button#clear-button.exit{opacity:0;transform:translateY(var(--lift-distance))}.search-navigation{display:none}.search-navigation kbd{min-width:18px;height:18px;font-size:12px;padding-inline:3px}@media screen and (pointer:fine){.search-navigation{display:block;font-size:var(--fs-sm);color:var(--color-text-muted);margin-top:var(--space-s)}.search-result-item{padding:var(--space-m)0;min-height:60px}}@media screen and (pointer:fine) and (max-width:512px){.search-navigation{margin-top:var(--space-xs)}.search-navigation kbd{min-width:16px;height:16px;font-size:10px;padding-inline:2px}.search-result-item{padding:var(--space-xs)0;min-height:48px}}.search-results{display:contents}.search-results-count{font-weight:700;font-size:var(--fs-sm);color:var(--color-text-muted);margin:var(--space-m)0}@media (max-width:512px){.search-results-count{font-size:var(--fs-xs);margin:var(--space-xs)0}}.search-results-list{list-style:none;padding:0;margin:0;line-height:1.1;max-height:calc(80vh - 150px);overflow-y:auto;scrollbar-color:var(--color-border) transparent;scrollbar-width:thin;opacity:1;transform:translateY(0);transition:opacity .3s ease-in-out,transform .3s ease-in-out,background-color .2s ease}@media (max-width:512px){.search-results-list{max-height:calc(70vh - 120px)}}.search-results-list li{list-style-type:none}.search-results-list li:not(:first-child){margin-top:.25rem}@starting-style{.search-results-list{opacity:0;transform:translateY(-50px)}}.search-results-list::-webkit-scrollbar{width:8px}.search-results-list::-webkit-scrollbar-track{background:0 0}.search-results-list::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:20px;border:2px solid transparent;background-clip:content-box;transition:background-color .2s ease}.search-results-list::-webkit-scrollbar-thumb:hover{background-color:var(--color-border-hover)}.search-sublist{padding-left:var(--space-m);font-size:var(--fs-sm)}@media (max-width:512px){.search-sublist{padding-left:var(--space-xs);font-size:var(--fs-xs)}}.search-result-item{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-xs);padding:var(--space-l)0;border-top:2px solid var(--color-border)}@media (max-width:512px){.search-result-item{gap:var(--space-3xs);padding:var(--space-s)0}}.search-title,.search-subtitle{transition:background-color .3s ease;font-weight:700}.search-excerpt{margin-block:0;font-size:var(--fs-sm);color:var(--color-text)}.search-result-nested{position:relative}.search-result-nested:before{content:"⤷ ";position:absolute;margin-left:-1rem;margin-top:.05rem}.search-error-message{text-align:center;color:#d92644}#search-loading{position:absolute;right:var(--space-xs);display:flex;align-items:center;gap:var(--space-3xs);opacity:0;transform:translateY(10px);font-size:var(--fs-sm);line-height:1;color:var(--color-text-muted);transition:all .3s ease-out;pointer-events:none}@media (max-width:512px){#search-loading{right:var(--space-3xs);font-size:var(--fs-xs);gap:var(--space-4xs)}}search.is-loading #search-loading{opacity:1;transform:translateY(0)}search.is-loading #search-loading .spinner{animation-play-state:running}.spinner{animation:spin 1s linear infinite;animation-play-state:paused}@keyframes spin{to{transform:rotate(1turn)}}.search-title:focus-visible,.search-subtitle:focus-visible{outline:0;background-color:var(--hover-background)}#search-trigger:focus,input#search-input:focus::placeholder,button#clear-button:focus{color:var(--color-text-highlight)}button#clear-button:focus{outline:0;background-color:transparent}@media screen and (hover:hover){#search-trigger:hover{color:var(--color-text-highlight);border-color:var(--color-border-hover)}button#clear-button:hover{color:var(--color-icon-hover);background-color:transparent}#search-trigger:hover #trigger-kbd{color:var(--color-text-highlight);border-color:var(--color-border-hover)}}header{background:var(--bg-primary);padding-block:var(--space-header-block);padding-inline:var(--space-header-inline)}nav#top-nav{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-l)}.brand{display:flex;flex-direction:column;gap:2px}.brand-link{font-size:var(--text-lg);font-weight:600;color:var(--text-primary);text-decoration:none;line-height:1.2;transition:color var(--transition-fast)}.brand-meta{font-size:var(--text-xs);color:var(--text-tertiary);line-height:1}.nav-actions{display:flex;align-items:center;gap:var(--space-l)}@media (hover:hover){.brand-link:hover{color:var(--text-highlight)}}.menu-content{height:100%;display:flex;align-items:center;justify-content:center;background:var(--bg-primary)}.menu-content ul{list-style:none;padding:0;margin:0;text-align:center}.menu-content ul li{opacity:0;margin:var(--space-xl)0}.menu-content .menu-link{font-size:clamp(1.5rem,8vw,4rem);font-weight:600;color:var(--text-primary);text-decoration:none;line-height:1;transition:color var(--transition-fast)}.menu-content .menu-link[aria-current=page]{color:var(--accent);text-decoration:underline;text-decoration-thickness:.1em;text-underline-offset:.15em}@media (hover:hover){.menu-content .menu-link:hover{color:var(--accent)}}.menu-footer{position:absolute;bottom:var(--space-l);left:var(--space-l);opacity:0;animation:fade-in-footer .3s ease-out .4s forwards}.menu-footer p{margin:0;font-size:var(--text-sm);color:var(--text-tertiary)}@keyframes fade-in-footer{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}dialog[data-menu-dialog]{position:fixed;margin:0;inset:0;width:100svw;width:100vw;height:100svh;height:100vh;max-width:none;max-height:none;background:var(--bg-primary);border:0;padding:0;z-index:1001;transition:opacity .3s ease-out,display .3s ease-out allow-discrete}dialog[data-menu-dialog][open]{opacity:1}dialog[data-menu-dialog]:not([open]){pointer-events:none;opacity:0}dialog[data-menu-dialog]::backdrop{display:none}@starting-style{dialog[data-menu-dialog][open]{opacity:0}}dialog[data-menu-dialog][open] .menu-content ul li{animation:animate-link-in .3s ease-out forwards}dialog[data-menu-dialog][open] .menu-content ul li:nth-child(1){animation-delay:.1s}dialog[data-menu-dialog][open] .menu-content ul li:nth-child(2){animation-delay:.15s}dialog[data-menu-dialog][open] .menu-content ul li:nth-child(3){animation-delay:.2s}dialog[data-menu-dialog][open] .menu-content ul li:nth-child(4){animation-delay:.25s}@keyframes animate-link-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media screen and (max-width:768px){nav#top-nav{gap:var(--space-m)}.nav-actions{gap:var(--space-s)}}@media screen and (max-width:450px){.brand-meta{display:none}.nav-actions{gap:var(--space-xs)}}body{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;--main-padding:clamp(.875rem, 3.5svw, 2rem)}main{container:inline-size;container-name:main-content;min-width:0;margin:1rem auto;padding:var(--main-padding);flex:1}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}*{box-sizing:border-box;margin:0;padding:0;min-width:0;line-height:var(--line-height-base)}html{font-size:16px;text-size-adjust:100%;font-family:var(--font-gteesti);text-rendering:optimizelegibility;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;scrollbar-gutter:stable;overflow-x:hidden;scroll-behavior:smooth;background:var(--bg-primary)}html:has(dialog[open]){overflow:hidden}:focus:not(:focus-visible){outline:0}:where(a,button,input,select,[tabindex]:not([tabindex="-1"])):focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}::selection{color:oklch(from var(--selection) l calc(c*6.5) h);background:oklch(from var(--selection) l calc(c*.4) h)}body{font-size:var(--fs-base);color:var(--color-text);background:var(--bg-primary);overflow-x:hidden}p,h1,h2,h3,h4,h5{overflow-wrap:break-word}h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5{color:var(--color-text-muted);font-size:var(--heading-size, 1rem);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);letter-spacing:-.025em}h1,.h1{--heading-size:2.5rem;font-weight:var(--font-weight-bold);letter-spacing:-.04em}h2,.h2{--heading-size:2rem}h3,.h3{--heading-size:1.5rem}h4,.h4{--heading-size:1.25rem}h5,.h5{--heading-size:1.125rem}@supports (font-size:1cqi){:is(h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5){--font-min:calc(var(--heading-size) - var(--heading-size) * .45);font-size:clamp(max(1rem,var(--font-min)),var(--font-min) + 1cqi,var(--heading-size))}}a{color:var(--accent);text-decoration:none;font-weight:var(--font-weight-regular)}@media screen and (hover:hover){a:hover{text-decoration:underline}}@media screen and (hover:hover) and (pointer:fine){a:hover,button:hover,[role=button]:hover{cursor:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='28'%20height='29'%20fill='none'%20viewBox='0%200%2028%2029'%3e%3cpath%20fill='%23fff'%20d='M6.84%2021.83c-.47-.6-1.05-1.82-2.07-3.34-.58-.83-2.01-2.41-2.45-3.23a2.1%202.1%200%200%201-.25-1.67%202.2%202.2%200%200%201%202.39-1.67c.85.18%201.63.6%202.25%201.2.43.41.82.85%201.18%201.32.27.34.33.47.63.85.3.39.5.77.35.2-.11-.83-.31-2.23-.6-3.48-.21-.95-.26-1.1-.46-1.82s-.32-1.32-.54-2.13c-.2-.8-.35-1.62-.46-2.44a4.7%204.7%200%200%201%20.43-3.08c.58-.55%201.44-.7%202.17-.37a4.4%204.4%200%200%201%201.57%202.17c.43%201.07.72%202.19.86%203.33.27%201.67.79%204.1.8%204.6%200-.61-.11-1.91%200-2.5.12-.6.54-1.1%201.12-1.33.5-.15%201.02-.19%201.53-.1.52.1.98.4%201.29.83.38.98.6%202%20.63%203.05.04-.91.2-1.82.47-2.7.28-.39.68-.67%201.15-.8.55-.1%201.11-.1%201.66%200%20.46.15.85.44%201.14.82.35.88.56%201.82.63%202.77%200%20.23.12-.65.48-1.24a1.67%201.67%200%201%201%203.17%201.07v3.77c-.06.97-.2%201.94-.4%202.9-.29.85-.7%201.65-1.2%202.38-.8.9-1.48%201.92-1.98%203.02a6.67%206.67%200%200%200%20.03%203.2c-.68.07-1.37.07-2.05%200-.65-.1-1.45-1.4-1.67-1.8a.63.63%200%200%200-1.13%200c-.37.64-1.18%201.79-1.75%201.85-1.12.14-3.42%200-5.23%200%200%200%20.3-1.66-.39-2.27-.68-.6-1.38-1.3-1.9-1.76l-1.4-1.6Z'/%3e%3cpath%20stroke='%23000'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='2.25'%20d='M6.84%2021.83c-.47-.6-1.05-1.82-2.07-3.34-.58-.83-2.01-2.41-2.45-3.23a2.1%202.1%200%200%201-.25-1.67%202.2%202.2%200%200%201%202.39-1.67c.85.18%201.63.6%202.25%201.2.43.41.82.85%201.18%201.32.27.34.33.47.63.85.3.39.5.77.35.2-.11-.83-.31-2.23-.6-3.48-.21-.95-.26-1.1-.46-1.82s-.32-1.32-.54-2.13c-.2-.8-.35-1.62-.46-2.44a4.7%204.7%200%200%201%20.43-3.08c.58-.55%201.44-.7%202.17-.37a4.4%204.4%200%200%201%201.57%202.17c.43%201.07.72%202.19.86%203.33.27%201.67.79%204.1.8%204.6%200-.61-.11-1.91%200-2.5.12-.6.54-1.1%201.12-1.33.5-.15%201.02-.19%201.53-.1.52.1.98.4%201.29.83.38.98.6%202%20.63%203.05.04-.91.2-1.82.47-2.7.28-.39.68-.67%201.15-.8.55-.1%201.11-.1%201.66%200%20.46.15.85.44%201.14.82.35.88.56%201.82.63%202.77%200%20.23.12-.65.48-1.24a1.67%201.67%200%201%201%203.17%201.07v3.77c-.06.97-.2%201.94-.4%202.9-.29.85-.7%201.65-1.2%202.38-.8.9-1.48%201.92-1.98%203.02a6.67%206.67%200%200%200%20.03%203.2c-.68.07-1.37.07-2.05%200-.65-.1-1.45-1.4-1.67-1.8a.63.63%200%200%200-1.13%200c-.37.64-1.18%201.79-1.75%201.85-1.12.14-3.42%200-5.23%200%200%200%20.3-1.66-.39-2.27-.68-.6-1.38-1.3-1.9-1.76l-1.4-1.6Z'%20clip-rule='evenodd'/%3e%3cpath%20fill='%23000'%20d='M20.65%2022.3v-6.24c0-.38-.31-.68-.7-.68-.37%200-.68.3-.68.68v6.23c0%20.38.3.68.69.68.38%200%20.69-.3.69-.68ZM17.2%2022.3l-.04-6.25a.67.67%200%201%200-1.34.01l.04%206.24a.67.67%200%201%200%201.34%200ZM12.37%2016.07l.04%206.22c0%20.38.3.68.67.68.37%200%20.67-.3.67-.68l-.04-6.23c0-.38-.3-.68-.67-.68-.37%200-.67.31-.67.69Z'/%3e%3c/svg%3e"),auto}}input{font-size:16px;touch-action:manipulation}em{font-style:italic;letter-spacing:-.0125em;word-spacing:-.0125em}mark{padding:0 3px;border-radius:4px;background:linear-gradient(.15turn,oklch(74%.238 322.16deg/.75),#f6339a99);white-space:nowrap;color:currentcolor}:root.🌞 mark{background:linear-gradient(.15turn,#fff085bf,#ffd6a799)}[id]{scroll-margin-top:4rem}[type=search]{appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button{display:none}::-webkit-search-decoration{appearance:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border-width:0}.skip-link{position:absolute;left:var(--space-m);top:var(--space-m);padding:var(--space-2xs) var(--space-xs);border-radius:var(--radius-card);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);z-index:2000;transform:translateY(-200%);transition:transform .15s ease-out}.skip-link:focus-visible{transform:translateY(0)}b,strong{font-weight:bolder}img{max-width:100%;height:auto}::target-text,mark{padding:0 3px;border-radius:4px;background:linear-gradient(.15turn,#bd33dabf,#f8259799);white-space:nowrap;color:currentcolor}kbd{display:inline-flex;font-family:monospace;align-items:center;justify-content:center;min-width:20px;height:20px;padding-inline:4px;background-color:var(--color-surface);border-radius:4px;color:var(--color-text-muted);font-size:14px;font-weight:600;line-height:1;border:1px solid var(--color-border)}:root img{--brightness:1;--contrast:1;--saturation:1}:root:not(.🌞) img{--brightness:.9}:root:not(.🌞) img.img-bright{--brightness:.85}:root:not(.🌞) img.img-colorful{--saturation:.95}:root:not(.🌞) img.img-high-contrast{--contrast:.9}:root.🌞 img{--brightness:1;--contrast:1;--saturation:1}:root.🌞 img.img-dark{--brightness:1.1;--contrast:1.05;--saturation:1.1}:root.🌞 img.img-low-contrast{--contrast:1.1;--saturation:1.05}:root.🌞 img.img-colorful{--saturation:.95;--brightness:.98}img{filter:brightness(var(--brightness)) contrast(var(--contrast)) saturate(var(--saturation))}:root.🌞 ::target-text,:root.🌞 mark{background:linear-gradient(.15turn,oklch(90%.2 100deg/.75),oklch(90%.2 75deg/.7))}.astro-route-announcer{display:none}:root{--text-xs:.75rem;--text-sm:.875rem;--text-lg:1.125rem;--space-4xs:.125rem;--space-3xs:.25rem;--space-2xs:.375rem;--space-xs:.5rem;--space-s:.75rem;--space-m:1rem;--space-l:1.5rem;--space-xl:2rem;--space-header-block:1.125rem;--space-header-inline:1.75rem;--font-weight-regular:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-base:calc(2ex + 6px);--line-height-tight:1.1;--line-height-relaxed:1.4;--content-width-wide:60ch;--button-radius:6px;--border-radius:.5rem;--radius-pill:9999px;--radius-card:var(--border-radius);--border-width-hairline:1px;--border-width-strong:2px;--transition-fast:.15s ease;--lift-distance:-10px;--focus-ring-width:2px;--focus-ring-offset:2px;--aspect-ratio-card-desktop:1.15;--aspect-ratio-card-tablet:1.25;--aspect-ratio-card-mobile:1.3}@media screen and (min-width:1280px){@supports not (font-size:clamp(1rem,1vi,1rem)){:root{--fs-xs:.7rem;--fs-sm:.94rem;--fs-base:1.25rem;--fs-md:1.67rem}}}:root{--bg-primary:#0d1117;--bg-secondary:#04070c;--bg-tertiary:#161616;--text-primary:#f0f6fc;--text-secondary:#9198a1;--text-tertiary:#747b82;--text-highlight:#fff;--border-primary:#3d4449;--border-secondary:#949494;--surface-hover:#8f8f8f40;--accent-values:.7 0 0;--accent:oklch(var(--accent-values));--selection:#1158d2;--color-icon:#dedede;--color-icon-hover:#fff;--hover-background:var(--surface-hover);--focus-ring-color:var(--accent);--color-text:var(--text-primary);--color-text-muted:var(--text-secondary);--color-text-subtle:var(--text-tertiary);--color-text-highlight:var(--text-highlight);--color-background:var(--bg-primary);--color-surface:var(--bg-secondary);--color-fade:var(--bg-tertiary);--color-border:var(--border-primary);--color-border-hover:var(--border-secondary)}:root.🌞{--bg-primary:#edebe9;--bg-secondary:#f3f1ef;--bg-tertiary:#eee;--text-primary:#0b0b0b;--text-secondary:#3a3a3a;--text-tertiary:#555;--text-highlight:#0b0b0b;--border-primary:#636363bf;--border-secondary:#2e2e2ebf;--surface-hover:#2e2e2e26;--accent-values:35% .01 68;--accent:oklch(var(--accent-values));--selection:#ede091;--color-icon:#161616;--color-icon-hover:#0b0b0b;--hover-background:var(--surface-hover);--color-text:var(--text-primary);--color-text-muted:var(--text-secondary);--color-text-subtle:var(--text-tertiary);--color-text-highlight:var(--text-highlight);--color-background:var(--bg-primary);--color-surface:var(--bg-secondary);--color-fade:var(--bg-tertiary);--color-border:var(--border-primary);--color-border-hover:var(--border-secondary)}:root{--ui-pill-font-family:var(--font-vt323);--ui-pill-letter-spacing:.035rem;--ui-pill-text-transform:uppercase;--ui-pill-bg:transparent;--ui-pill-fg:var(--color-text-muted);--ui-pill-border:var(--color-border)}.ui-container{--ui-container-width:var(--page-width, 700px);--ui-container-padding:var(--main-padding, var(--space-m));max-width:calc(var(--ui-container-width) + var(--ui-container-padding)*2);margin-inline:auto}.ui-container-default{--ui-container-width:900px}.ui-stack{display:flex;flex-direction:column;gap:var(--ui-stack-gap, var(--space-m))}.ui-cluster{display:flex;flex-wrap:wrap;align-items:center;gap:var(--ui-cluster-gap, var(--space-s))}.ui-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2xs);padding:var(--ui-button-padding-y, var(--space-3xs)) var(--ui-button-padding-x, var(--space-xs));border-radius:var(--ui-button-radius, var(--button-radius));border:var(--border-width-hairline) solid var(--color-border);background:var(--ui-button-bg, transparent);color:var(--ui-button-fg, var(--color-text));text-decoration:none;line-height:1}.ui-button-outline{--ui-button-bg:transparent;--ui-button-fg:var(--color-text-muted)}.ui-button-ghost{border-color:transparent;--ui-button-bg:transparent;--ui-button-fg:var(--color-text-muted)}.ui-button-solid{--ui-button-bg:var(--accent);--ui-button-fg:var(--color-background);border-color:var(--accent)}.ui-button-pill{--ui-button-radius:var(--radius-pill)}@media screen and (hover:hover){.ui-button{transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .2s ease;cursor:pointer}.ui-button:hover{background:var(--hover-background);border-color:var(--color-border-hover);color:var(--color-text)}.ui-button-solid:hover{background:var(--accent);border-color:var(--accent);color:var(--color-background);transform:translateY(-1px)}}.ui-focus-ring:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.ui-frame{border:var(--border-width-strong) solid var(--color-border);border-radius:var(--radius-card);overflow:hidden}@media screen and (hover:hover){.ui-hoverlift{transition:transform .2s ease-in-out;will-change:transform}.ui-hoverlift:hover{transform:translateY(var(--lift-distance))}}.ui-pill{font-family:var(--ui-pill-font-family);font-weight:400;font-style:normal;text-transform:var(--ui-pill-text-transform);letter-spacing:var(--ui-pill-letter-spacing);display:inline-flex;align-items:center;justify-content:center;text-align:center;color:var(--ui-pill-fg);background:var(--ui-pill-bg);border-radius:var(--radius-pill);border:var(--border-width-hairline) solid var(--ui-pill-border);white-space:nowrap;text-box:trim-both cap alphabetic;line-height:1}.ui-pill-sm{font-size:15px;padding:4px 6px}.ui-pill-md{font-size:20px;padding:6px 8px}.ui-pill-dashed{border-style:dashed}.ui-pill.active,.ui-pill.is-active{background:var(--accent);border-color:var(--accent);color:var(--color-background)}@media screen and (hover:hover){button.ui-pill,a.ui-pill,[role=button].ui-pill{cursor:pointer;transition:all .2s ease}button.ui-pill:hover,a.ui-pill:hover,[role=button].ui-pill:hover{background:var(--hover-background);border-color:var(--color-border-hover);color:var(--color-text)}button.ui-pill.active:hover,a.ui-pill.active:hover,[role=button].ui-pill.active:hover,button.ui-pill.is-active:hover,a.ui-pill.is-active:hover,[role=button].ui-pill.is-active:hover{background:var(--accent);border-color:var(--accent);color:var(--color-background)}}@media (prefers-reduced-motion:reduce){.animate{transition:none!important;transform:none!important;opacity:1!important}.theme-transition::view-transition-new(root),.theme-transition::view-transition-old(root){animation:none!important}}.animate{opacity:0;transform:translate3d(0,22px,0);transition:opacity .7s cubic-bezier(.4,0,.2,1),transform .7s cubic-bezier(.4,0,.2,1);will-change:opacity,transform}.animate.show{opacity:1;transform:translateZ(0)}.theme-transition::view-transition-new(root),.theme-transition::view-transition-old(root){mix-blend-mode:normal;display:block}.theme-transition::view-transition-old(root){animation:theme-fade-out .8s ease-out;z-index:9999}.theme-transition::view-transition-new(root){z-index:1}@keyframes theme-fade-out{0%{clip-path:circle(150%at 100% 100%)}to{clip-path:circle(0 at 100% 100%)}}