.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}.nav[data-astro-cid-dmqpwcec]{position:fixed;top:0;left:50%;transform:translate(-50%);padding:1rem 1.5rem;z-index:100;transition:transform .3s ease}.nav--hidden[data-astro-cid-dmqpwcec]{transform:translate(-50%) translateY(-100%)}.nav[data-astro-cid-dmqpwcec] .nav-container[data-astro-cid-dmqpwcec]{display:flex;gap:2rem;padding:.75rem 1.5rem;border-radius:12px;transition:background .3s ease,backdrop-filter .3s ease,box-shadow .3s ease}.nav[data-astro-cid-dmqpwcec] .nav-container[data-astro-cid-dmqpwcec].scrolled{background:#ffffff80;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 4px 24px #0000000f}.nav[data-astro-cid-dmqpwcec] .nav-container[data-astro-cid-dmqpwcec] .nav-link[data-astro-cid-dmqpwcec]{font-size:1.3rem;font-style:normal;font-weight:700;color:var(--color-nav-link);text-shadow:0 0 0 transparent;white-space:nowrap;transition:font-style .2s ease,color .2s ease,text-shadow .25s ease}.nav[data-astro-cid-dmqpwcec] .nav-container[data-astro-cid-dmqpwcec] .nav-link[data-astro-cid-dmqpwcec].active{color:var(--color-nav-active)}.nav[data-astro-cid-dmqpwcec] .nav-container[data-astro-cid-dmqpwcec] .nav-link[data-astro-cid-dmqpwcec].active:before{content:"["}.nav[data-astro-cid-dmqpwcec] .nav-container[data-astro-cid-dmqpwcec] .nav-link[data-astro-cid-dmqpwcec].active:after{content:"]"}.nav[data-astro-cid-dmqpwcec] .nav-container[data-astro-cid-dmqpwcec] .nav-link[data-astro-cid-dmqpwcec]:hover{color:var(--color-nav-active)}@media(max-width:480px){.nav[data-astro-cid-dmqpwcec]{padding:.5rem;width:100%;box-sizing:border-box}.nav[data-astro-cid-dmqpwcec] .nav-container[data-astro-cid-dmqpwcec]{gap:.5rem;padding:.5rem .75rem;justify-content:center;width:100%;box-sizing:border-box}.nav[data-astro-cid-dmqpwcec] .nav-container[data-astro-cid-dmqpwcec] .nav-link[data-astro-cid-dmqpwcec]{font-size:clamp(.8rem,5vw,2rem);padding:.75rem .5rem;min-height:44px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media(prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}.link-tree[data-astro-cid-uo6eog47]{display:flex;flex-direction:column;gap:.75rem}.link-tree-group[data-astro-cid-uo6eog47]{display:flex;flex-direction:column;gap:.45rem}.link-tree-heading[data-astro-cid-uo6eog47]{font-family:Inter,sans-serif;font-size:1.05rem;font-weight:700;color:var(--color-nav-active);width:fit-content;transition:color .2s ease}.link-tree-heading[data-astro-cid-uo6eog47]:hover{color:var(--color-primary)}.link-tree-number[data-astro-cid-uo6eog47]{font-variant-numeric:tabular-nums}.link-tree-branch[data-astro-cid-uo6eog47]{list-style:none;display:flex;flex-direction:column;gap:.45rem;margin:0;padding:0}.link-tree-branch[data-astro-cid-uo6eog47] li[data-astro-cid-uo6eog47]{position:relative;padding-left:2.5rem;line-height:1.3}.link-tree-branch[data-astro-cid-uo6eog47] li[data-astro-cid-uo6eog47]:before{content:"";position:absolute;left:1.5rem;top:0;height:.75rem;width:.65rem;border-left:1px solid var(--color-primary);border-bottom:1px solid var(--color-primary);opacity:.45}.link-tree-branch[data-astro-cid-uo6eog47] a[data-astro-cid-uo6eog47],.link-tree-branch[data-astro-cid-uo6eog47] span[data-astro-cid-uo6eog47]{font-family:Inter,sans-serif;font-size:.92rem;color:var(--color-text-muted);text-decoration:none;transition:color .2s ease;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:inline-block;max-width:100%}.link-tree-branch[data-astro-cid-uo6eog47] a[data-astro-cid-uo6eog47]:hover{color:var(--color-primary)}.footer[data-astro-cid-sz7xmlte]{container-type:inline-size;display:flex;align-items:center;flex-direction:column;position:relative;z-index:2;border-radius:14px;background:color-mix(in srgb,var(--color-bg-light) 75%,transparent 25%);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 10px 26px #0000000d;padding:1.6rem clamp(1rem,4vw,3rem);margin:1rem;overflow:hidden}.footer[data-astro-cid-sz7xmlte] .footer-bg-text[data-astro-cid-sz7xmlte]{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-family:Tilt Warp,sans-serif;font-size:40cqi;font-weight:400;white-space:nowrap;color:color-mix(in srgb,var(--color-bg) 50%,transparent);pointer-events:none;z-index:0;line-height:1}.footer[data-astro-cid-sz7xmlte] .back-to-top[data-astro-cid-sz7xmlte],.footer[data-astro-cid-sz7xmlte] .sitemap-grid[data-astro-cid-sz7xmlte],.footer[data-astro-cid-sz7xmlte] .copyright[data-astro-cid-sz7xmlte]{position:relative;z-index:1}.footer[data-astro-cid-sz7xmlte] .back-to-top[data-astro-cid-sz7xmlte]{background-color:transparent;border:none;display:inline-flex;cursor:pointer;margin-bottom:2rem;transition:transform .2s ease,background .2s ease,color .2s ease}.footer[data-astro-cid-sz7xmlte] .back-to-top[data-astro-cid-sz7xmlte]:hover{transform:translateY(-5px)}.footer[data-astro-cid-sz7xmlte] .sitemap-grid[data-astro-cid-sz7xmlte]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(1rem,3vw,2.5rem);width:100%}.footer[data-astro-cid-sz7xmlte] .sitemap-grid[data-astro-cid-sz7xmlte] .sitemap-column[data-astro-cid-sz7xmlte]{margin:0 auto;min-width:0}@media(max-width:1000px){.footer[data-astro-cid-sz7xmlte]{margin:.75rem;margin-top:auto}.footer[data-astro-cid-sz7xmlte] .sitemap-grid[data-astro-cid-sz7xmlte]{grid-template-columns:repeat(2,max-content);width:max-content;max-width:100%;justify-content:start;justify-items:start;row-gap:1.5rem}.footer[data-astro-cid-sz7xmlte] .sitemap-grid[data-astro-cid-sz7xmlte] .sitemap-column[data-astro-cid-sz7xmlte]{margin:0;justify-self:start}}@media(max-width:700px){.footer[data-astro-cid-sz7xmlte]{margin:.5rem;margin-top:auto}.footer[data-astro-cid-sz7xmlte] .sitemap-grid[data-astro-cid-sz7xmlte]{grid-template-columns:max-content;width:max-content;max-width:100%;justify-content:start;justify-items:start;gap:1.1rem}.footer[data-astro-cid-sz7xmlte] .sitemap-grid[data-astro-cid-sz7xmlte] .sitemap-column[data-astro-cid-sz7xmlte]{width:100%;margin:0;justify-self:start}}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-latin.woff2) format("woff2")}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/fonts/inter-latin-italic.woff2) format("woff2")}@font-face{font-family:Tilt Warp;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/tilt-warp-latin.woff2) format("woff2")}:root{--color-primary: #4649fc;--color-accent-green: #6EFF55;--color-accent-chartreuse: #E6FF00;--color-accent-cyan: #55FFF9;--color-bg: #ededed;--color-bg-light: #f5f5f5;--color-bg-warm: #d8d8d8;--color-bg-cool: #d5d5d5;--color-text: #1a1a1a;--color-text-muted: #313131;--color-text-subtle: #666;--color-text-light: #ffffff;--color-border: #b3b3b3;--color-nav-link: #000000;--color-nav-active: #4649fc;--color-input-bg: rgba(255, 255, 255, .7);--color-input-bg-focus: rgba(255, 255, 255, .9);--color-input-focus: var(--color-primary);--color-divider-start: rgba(49, 49, 49, .2);--color-divider-mid: rgba(49, 49, 49, .5);--color-shadow-inset: rgba(0, 0, 0, .3);--color-overlay-light: rgba(255, 255, 255, .15);--color-gradient-purple: rgba(180, 160, 220, .12);--color-gradient-blue: rgba(160, 180, 240, .08);--color-gradient-blob-1: rgba(200, 200, 210, .4);--color-gradient-blob-2: rgba(220, 220, 230, .3);--color-gradient-blob-3: rgba(210, 210, 220, .2);--color-gradient-layer-1: rgba(230, 230, 235, .5);--color-gradient-layer-2: rgba(240, 240, 245, .4)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body{font-family:Inter,system-ui,-apple-system,sans-serif;background:var(--color-bg);color:var(--color-text);min-height:100vh}body:after{content:"";position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");pointer-events:none;z-index:1}a{color:inherit;text-decoration:none}.prose{font-family:Inter,system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.8;color:var(--color-text-muted)}.prose p{margin-bottom:1.25rem}.prose h2{font-size:1.5rem;font-weight:600;color:var(--color-text);margin-top:2.5rem;margin-bottom:1rem}.prose h3{font-size:1.2rem;font-weight:600;color:var(--color-text);margin-top:2rem;margin-bottom:.75rem}.prose a{color:var(--color-primary);text-decoration:underline}.prose pre{background:var(--color-bg-warm);border:1px solid var(--color-border);border-radius:6px;padding:1rem 1.25rem;overflow-x:auto;margin-bottom:1.25rem;font-size:14px;line-height:1.5}.prose code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.9em}.prose :not(pre)>code{background:var(--color-bg-warm);padding:.15em .4em;border-radius:4px}.prose ul,.prose ol{margin-bottom:1.25rem;padding-left:1.5rem}.prose li{margin-bottom:.4rem}.prose blockquote{border-left:3px solid var(--color-primary);padding-left:1.25rem;margin:1.5rem 0;color:var(--color-text-subtle);font-style:italic}.page-content{margin-left:auto;margin-right:auto;padding:0 3rem 5rem}@media(max-width:1000px){.page-content{padding:0 2rem 4rem}}@media(max-width:700px){.page-content{padding:0 1.5rem 3rem}}::view-transition-old(root){animation:fade-out .2s ease-out forwards}::view-transition-new(root){animation:fade-in .25s ease-out forwards}@keyframes fade-out{to{opacity:0}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}
