*{box-sizing:border-box}:root,::backdrop{--ns-color-white: hsl(0, 0%, 100%);--ns-color-gray-1: hsl(224, 20%, 94%);--ns-color-gray-2: hsl(224, 6%, 77%);--ns-color-gray-3: hsl(224, 6%, 56%);--ns-color-gray-4: hsl(224, 7%, 36%);--ns-color-gray-5: hsl(224, 10%, 23%);--ns-color-gray-6: hsl(224, 14%, 16%);--ns-color-black: hsl(224, 10%, 10%);--ns-hue-accent: 234;--ns-color-accent-low: hsl(var(--ns-hue-accent), 54%, 20%);--ns-color-accent: hsl(var(--ns-hue-accent), 100%, 60%);--ns-color-accent-high: hsl(var(--ns-hue-accent), 100%, 87%);--ns-color-text: var(--ns-color-gray-2);--ns-color-text-accent: var(--ns-color-accent-high);--ns-color-text-invert: var(--ns-color-accent-low);--ns-color-bg: var(--ns-color-black);--ns-color-bg-nav: var(--ns-color-gray-6);--ns-color-bg-sidebar: var(--ns-color-gray-6);--ns-color-bg-inline-code: var(--ns-color-gray-5);--ns-color-bg-accent: var(--ns-color-accent-high);--ns-color-hairline-light: var(--ns-color-gray-5);--ns-color-hairline: var(--ns-color-gray-6);--ns-color-hairline-shade: var(--ns-color-black);--ns-color-backdrop-overlay: hsla(223, 13%, 10%, .66);--ns-shadow-sm: 0px 1px 1px hsla(0, 0%, 0%, .12), 0px 2px 1px hsla(0, 0%, 0%, .24);--ns-shadow-md: 0px 8px 4px hsla(0, 0%, 0%, .08), 0px 5px 2px hsla(0, 0%, 0%, .08), 0px 3px 2px hsla(0, 0%, 0%, .12), 0px 1px 1px hsla(0, 0%, 0%, .15);--ns-shadow-lg: 0px 25px 7px hsla(0, 0%, 0%, .03), 0px 16px 6px hsla(0, 0%, 0%, .1), 0px 9px 5px hsla(223, 13%, 10%, .33), 0px 4px 4px hsla(0, 0%, 0%, .75), 0px 4px 2px hsla(0, 0%, 0%, .25);--ns-text-2xs: 12px;--ns-text-xs: 13px;--ns-text-sm: 14px;--ns-text-base: 18px;--ns-text-lg: 18px;--ns-text-xl: 20px;--ns-text-2xl: 24px;--ns-text-3xl: 29px;--ns-text-4xl: 35px;--ns-text-5xl: 42px;--ns-text-6xl: 64px;--ns-text-body: var(--ns-text-base);--ns-text-body-sm: var(--ns-text-xs);--ns-text-code: var(--ns-text-sm);--ns-text-code-sm: var(--ns-text-xs);--ns-text-h1: var(--ns-text-4xl);--ns-text-h2: var(--ns-text-3xl);--ns-text-h3: var(--ns-text-2xl);--ns-text-h4: var(--ns-text-xl);--ns-text-h5: var(--ns-text-lg);--ns-line-height: 1.75;--ns-line-height-headings: 1.2;--ns-spacing-xs: 4px;--ns-spacing-sm: 8px;--ns-spacing-md: 16px;--ns-spacing-lg: 24px;--ns-spacing-xl: 32px;--ns-spacing-2xl: 48px;--ns-spacing-3xl: 64px;--ns-nav-height: 56px;--ns-nav-pad-x: 16px;--ns-nav-pad-y: 12px;--ns-sidebar-width: 300px;--ns-content-width: 720px;--ns-content-pad-x: 16px;--ns-border-radius: 8px;--ns-border-radius-sm: 4px;--ns-border-radius-lg: 12px}:root[data-theme=light],[data-theme=light] ::backdrop{--ns-color-white: hsl(224, 10%, 10%);--ns-color-gray-1: hsl(224, 14%, 16%);--ns-color-gray-2: hsl(224, 10%, 23%);--ns-color-gray-3: hsl(224, 7%, 36%);--ns-color-gray-4: hsl(224, 6%, 56%);--ns-color-gray-5: hsl(224, 6%, 77%);--ns-color-gray-6: hsl(224, 20%, 94%);--ns-color-gray-7: hsl(224, 19%, 97%);--ns-color-black: hsl(0, 0%, 100%);--ns-color-accent-high: hsl(234, 80%, 30%);--ns-color-accent: hsl(234, 90%, 60%);--ns-color-accent-low: hsl(234, 88%, 90%);--ns-color-text: var(--ns-color-gray-2);--ns-color-text-accent: var(--ns-color-accent);--ns-color-text-invert: var(--ns-color-black);--ns-color-bg: var(--ns-color-black);--ns-color-bg-nav: var(--ns-color-gray-7);--ns-color-bg-sidebar: var(--ns-color-bg);--ns-color-bg-inline-code: var(--ns-color-gray-6);--ns-color-bg-accent: var(--ns-color-accent);--ns-color-hairline-light: var(--ns-color-gray-6);--ns-color-hairline-shade: var(--ns-color-gray-6);--ns-color-backdrop-overlay: hsla(225, 9%, 36%, .66);--ns-shadow-sm: 0px 1px 1px hsla(0, 0%, 0%, .06), 0px 2px 1px hsla(0, 0%, 0%, .06);--ns-shadow-md: 0px 8px 4px hsla(0, 0%, 0%, .03), 0px 5px 2px hsla(0, 0%, 0%, .03), 0px 3px 2px hsla(0, 0%, 0%, .06), 0px 1px 1px hsla(0, 0%, 0%, .06);--ns-shadow-lg: 0px 25px 7px rgba(0, 0, 0, .01), 0px 16px 6px hsla(0, 0%, 0%, .03), 0px 9px 5px hsla(223, 13%, 10%, .08), 0px 4px 4px hsla(0, 0%, 0%, .16), 0px 4px 2px hsla(0, 0%, 0%, .04)}@media (min-width: 768px){:root{--ns-nav-height: 64px;--ns-nav-pad-x: 24px;--ns-text-h1: var(--ns-text-5xl);--ns-text-h2: var(--ns-text-4xl);--ns-text-h3: var(--ns-text-3xl);--ns-text-h4: var(--ns-text-2xl)}}@media (min-width: 1152px){:root{--ns-content-pad-x: 24px}}@font-face{font-family:Atkinson;src:url(/fonts/atkinson-regular.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Atkinson;src:url(/fonts/atkinson-bold.woff) format("woff");font-weight:700;font-style:normal;font-display:swap}html{color-scheme:dark;accent-color:var(--ns-color-accent)}html[data-theme=light]{color-scheme:light}body{font-family:Atkinson,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;margin:0;padding:0;text-align:left;background-color:var(--ns-color-bg);word-wrap:break-word;overflow-wrap:break-word;color:var(--ns-color-text);font-size:var(--ns-text-body);line-height:var(--ns-line-height);-webkit-font-smoothing:antialiased}main{width:100%;max-width:100%;margin:auto;padding:var(--ns-spacing-xl) var(--ns-spacing-md)}h1,h2,h3,h4,h5,h6{margin:0 0 var(--ns-spacing-sm) 0;color:var(--ns-color-text);line-height:var(--ns-line-height-headings);overflow-wrap:anywhere}h1{font-size:var(--ns-text-h1)}h2{font-size:var(--ns-text-h2)}h3{font-size:var(--ns-text-h3)}h4{font-size:var(--ns-text-h4)}h5{font-size:var(--ns-text-h5)}h6{font-size:var(--ns-text-base)}strong,b{font-weight:700}a{color:var(--ns-color-text-accent);transition:color .2s ease}a:hover{color:var(--ns-color-accent);text-decoration:underline}p{margin-bottom:var(--ns-spacing-md);overflow-wrap:anywhere}.prose{width:var(--ns-content-width);max-width:calc(100% - var(--ns-spacing-xl));margin:auto;padding:var(--ns-spacing-md);color:var(--ns-color-text)}.prose p{margin-bottom:var(--ns-spacing-lg)}.prose img{max-width:100%;height:auto;border-radius:var(--ns-border-radius)}table{width:100%;border-collapse:collapse}th{padding:var(--ns-spacing-sm);border-bottom:2px solid var(--ns-color-hairline);font-weight:700;color:var(--ns-color-text)}td{padding:var(--ns-spacing-sm);border-bottom:1px solid var(--ns-color-hairline-light)}blockquote{border-left:4px solid var(--ns-color-accent);background-color:var(--ns-color-bg-inline-code);margin:var(--ns-spacing-2xl) 0;padding:var(--ns-spacing-md) var(--ns-spacing-md);border-radius:0 var(--ns-border-radius) var(--ns-border-radius) 0;color:var(--ns-color-text)}blockquote p:last-child{margin-bottom:0}hr{border:none;border-top:1px solid var(--ns-color-hairline);margin:var(--ns-spacing-2xl) 0}ul{padding-left:var(--ns-spacing-2xl)}ul li,ol li{margin-bottom:var(--ns-spacing-sm)}code{font-family:Fira Code,Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace;font-size:var(--ns-text-code);padding:var(--ns-spacing-xs) var(--ns-spacing-sm);border-radius:var(--ns-border-radius-sm);background-color:var(--ns-color-bg-inline-code);color:var(--ns-color-text);overflow-wrap:anywhere}pre{background-color:var(--ns-color-gray-6);color:var(--ns-color-text);padding:var(--ns-spacing-md) var(--ns-spacing-md);border-radius:var(--ns-border-radius);overflow-x:auto;box-shadow:var(--ns-shadow-sm)}pre code{background-color:transparent;color:inherit;padding:0;font-size:var(--ns-text-code)}pre.astro-code{font-size:var(--ns-text-code)!important}img{max-width:100%;height:auto;border-radius:var(--ns-border-radius)}.sr-only{border:0;padding:0;margin:0;position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px);clip-path:inset(50%);white-space:nowrap}@media screen and (max-width: 768px){pre.astro-code{font-size:var(--ns-text-code-sm)!important}}a[data-astro-cid-eimmu3lg]{display:inline-block;text-decoration:none}a[data-astro-cid-eimmu3lg].active{font-weight:bolder;text-decoration:underline}#themeToggle[data-astro-cid-oemx5le4]{border:0;background:none;cursor:pointer;padding:var(--ns-spacing-sm);border-radius:var(--ns-border-radius-sm);transition:background-color .2s ease}#themeToggle[data-astro-cid-oemx5le4]:hover{background-color:var(--ns-color-hairline-light)}.sun[data-astro-cid-oemx5le4]{fill:var(--ns-color-text);transition:fill .2s ease}.moon[data-astro-cid-oemx5le4]{fill:transparent;transition:fill .2s ease}:root .sun[data-astro-cid-oemx5le4]{fill:var(--ns-color-text)}:root .moon[data-astro-cid-oemx5le4]{fill:transparent}:root[data-theme=light] .sun[data-astro-cid-oemx5le4]{fill:transparent}:root[data-theme=light] .moon[data-astro-cid-oemx5le4]{fill:var(--ns-color-text)}header[data-astro-cid-3ef6ksr2]{margin:0;background:var(--ns-color-bg-nav);box-shadow:var(--ns-shadow-sm);transition:background-color .3s ease,backdrop-filter .3s ease}h2[data-astro-cid-3ef6ksr2]{margin:0;font-size:var(--ns-text-2xl)}h2[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2],h2[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2].active{text-decoration:none}nav[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;justify-content:space-between;padding:var(--ns-nav-pad-y) var(--ns-nav-pad-x)}nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{padding:var(--ns-spacing-md) var(--ns-spacing-md);color:var(--ns-color-text);border-bottom:4px solid transparent;margin-bottom:-4px;text-decoration:none;transition:color .2s ease}nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2].active{text-decoration:none;border-bottom-color:var(--ns-color-accent)}.desktop-nav[data-astro-cid-3ef6ksr2],.desktop-social[data-astro-cid-3ef6ksr2]{display:flex}.header-controls[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:var(--ns-spacing-sm)}.mobile-menu-btn[data-astro-cid-3ef6ksr2]{display:none;flex-direction:column;background:none;border:none;cursor:pointer;padding:var(--ns-spacing-sm);gap:var(--ns-spacing-xs)}.mobile-menu-btn[data-astro-cid-3ef6ksr2] span[data-astro-cid-3ef6ksr2]{width:25px;height:3px;background-color:var(--ns-color-text);transition:all .3s ease}.mobile-drawer[data-astro-cid-3ef6ksr2]{display:none;position:fixed;top:0;right:-300px;width:300px;height:100vh;background:var(--ns-color-bg-nav);box-shadow:var(--ns-shadow-lg);transition:right .3s ease;z-index:1000;padding:var(--ns-spacing-2xl)}.mobile-close-btn[data-astro-cid-3ef6ksr2]{position:absolute;top:var(--ns-spacing-md);right:var(--ns-spacing-md);background:none;border:none;cursor:pointer;padding:var(--ns-spacing-sm);border-radius:var(--ns-border-radius-sm);color:var(--ns-color-text);transition:background-color .2s ease}.mobile-close-btn[data-astro-cid-3ef6ksr2]:hover{background-color:var(--ns-color-hairline-light)}.mobile-nav[data-astro-cid-3ef6ksr2]{display:flex;flex-direction:column;gap:var(--ns-spacing-md);margin-top:var(--ns-spacing-3xl)}.mobile-nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{padding:var(--ns-spacing-md) 0;border-bottom:1px solid var(--ns-color-hairline);color:var(--ns-color-text);text-decoration:none;font-size:var(--ns-text-lg)}.mobile-social[data-astro-cid-3ef6ksr2]{display:flex;gap:var(--ns-spacing-md);margin-top:var(--ns-spacing-3xl);padding-top:var(--ns-spacing-3xl);border-top:1px solid var(--ns-color-hairline)}@media (max-width: 748px){header[data-astro-cid-3ef6ksr2]{padding:var(--ns-spacing-md)}.desktop-nav[data-astro-cid-3ef6ksr2],.desktop-social[data-astro-cid-3ef6ksr2]{display:none}.mobile-menu-btn[data-astro-cid-3ef6ksr2],.mobile-drawer[data-astro-cid-3ef6ksr2]{display:flex}.header-controls[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:var(--ns-spacing-sm)}}body.menu-open .mobile-drawer[data-astro-cid-3ef6ksr2]{right:0}body.menu-open .mobile-menu-btn[data-astro-cid-3ef6ksr2] span[data-astro-cid-3ef6ksr2]:nth-child(1){transform:rotate(45deg) translate(5px,5px)}body.menu-open .mobile-menu-btn[data-astro-cid-3ef6ksr2] span[data-astro-cid-3ef6ksr2]:nth-child(2){opacity:0}body.menu-open .mobile-menu-btn[data-astro-cid-3ef6ksr2] span[data-astro-cid-3ef6ksr2]:nth-child(3){transform:rotate(-45deg) translate(7px,-6px)}body.menu-open:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:var(--ns-color-backdrop-overlay);z-index:999}footer[data-astro-cid-sz7xmlte]{padding:var(--ns-spacing-3xl) var(--ns-spacing-md) var(--ns-spacing-3xl) var(--ns-spacing-md);background-color:var(--ns-color-bg-nav);color:var(--ns-color-gray-3);text-align:center;border-top:1px solid var(--ns-color-hairline)}.social-links[data-astro-cid-sz7xmlte]{display:flex;justify-content:center;gap:var(--ns-spacing-md);margin-top:var(--ns-spacing-md)}.social-links[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{text-decoration:none;color:var(--ns-color-gray-3);transition:color .2s ease}.social-links[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{color:var(--ns-color-text)}
