.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}*,*:before,*:after{box-sizing:border-box;margin:0}:root{--font-sans: "Inter", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--color-primary: oklch(.55 .2 250);--color-on-primary: oklch(1 0 0);--color-primary-container: oklch(.88 .06 250);--color-secondary: oklch(.5 .12 300);--color-tertiary: oklch(.55 .12 150);--color-surface: oklch(.98 .005 250);--color-on-surface: oklch(.15 .02 250);--color-on-surface-variant: oklch(.4 .03 250);--color-surface-container: oklch(.95 .008 250);--color-surface-container-high: oklch(.93 .01 250);--color-outline-variant: oklch(.85 .01 250);--color-inverse-surface: oklch(.18 .02 250);--color-inverse-on-surface: oklch(.92 .005 250);--color-code-surface: oklch(.18 .02 250);--color-code-on-surface: oklch(.92 .005 250)}@media(prefers-color-scheme:dark){:root{--color-primary: oklch(.78 .12 250);--color-on-primary: oklch(.25 .12 250);--color-surface: oklch(.13 .01 250);--color-on-surface: oklch(.9 .008 250);--color-on-surface-variant: oklch(.7 .015 250);--color-surface-container: oklch(.16 .012 250);--color-surface-container-high: oklch(.2 .015 250);--color-outline-variant: oklch(.25 .015 250);--color-inverse-surface: oklch(.88 .008 250);--color-inverse-on-surface: oklch(.2 .02 250);--color-code-surface: oklch(.16 .015 250);--color-code-on-surface: oklch(.88 .008 250)}}body{font-family:var(--font-sans)}code,pre{font-family:var(--font-mono)}.display-large{font-size:clamp(2.5rem,5vw,3.5625rem);line-height:1.12;letter-spacing:-.02em;font-weight:700}.headline-large{font-size:clamp(1.75rem,3vw,2rem);line-height:1.25;letter-spacing:-.01em;font-weight:600}.title-large{font-size:clamp(1.25rem,2vw,1.375rem);line-height:1.27;font-weight:600}.prose{font-size:1rem;line-height:1.75;color:var(--color-on-surface)}.prose h1{font-size:clamp(1.75rem,3vw,2rem);font-weight:700;letter-spacing:-.01em;margin:0 0 1.5rem;line-height:1.25}.prose h2{font-size:1.5rem;font-weight:600;margin:2.5rem 0 1rem;padding-bottom:.5rem;border-bottom:1px solid var(--color-outline-variant);line-height:1.3}.prose h3{font-size:1.25rem;font-weight:600;margin:2rem 0 .75rem;line-height:1.35}.prose h4{font-size:1.1rem;font-weight:600;margin:1.5rem 0 .5rem}.prose p{margin:0 0 1rem}.prose a{color:var(--color-primary);text-decoration:underline;text-underline-offset:2px}.prose a:hover{text-decoration-thickness:2px}.prose ul,.prose ol{margin:0 0 1rem;padding-left:1.5rem}.prose li{margin-bottom:.25rem}.prose code{font-size:.875em;padding:.15em .35em;border-radius:.25rem;background:var(--color-surface-container-high);color:var(--color-primary)}.prose pre{margin:0 0 1.5rem;padding:1.25rem 1.5rem;border-radius:.75rem;background:var(--color-code-surface);color:var(--color-code-on-surface);overflow-x:auto;font-size:.875rem;line-height:1.625}.prose pre code{padding:0;background:none;color:inherit;font-size:inherit}.prose table{width:100%;border-collapse:collapse;margin:0 0 1.5rem;font-size:.875rem}.prose th{text-align:left;font-weight:600;padding:.625rem .75rem;border-bottom:2px solid var(--color-outline-variant);color:var(--color-on-surface)}.prose td{padding:.5rem .75rem;border-bottom:1px solid var(--color-outline-variant);color:var(--color-on-surface-variant)}.prose tr:last-child td{border-bottom:none}.prose blockquote{margin:0 0 1rem;padding:.75rem 1rem;border-left:3px solid var(--color-primary);background:var(--color-surface-container);border-radius:0 .5rem .5rem 0;color:var(--color-on-surface-variant)}.prose blockquote p:last-child{margin-bottom:0}.prose hr{border:none;border-top:1px solid var(--color-outline-variant);margin:2rem 0}.prose img{max-width:100%;height:auto;border-radius:.5rem}.prose strong{font-weight:600;color:var(--color-on-surface)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}body{min-height:100vh;background:var(--color-surface);color:var(--color-on-surface);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0}.site-nav[data-astro-cid-37fxchfa]{position:sticky;top:0;z-index:50;border-bottom:1px solid var(--color-outline-variant);background:var(--color-surface);backdrop-filter:blur(8px)}.nav-inner[data-astro-cid-37fxchfa]{max-width:72rem;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem}.nav-logo[data-astro-cid-37fxchfa]{display:flex;align-items:center;gap:.5rem;font-size:1.125rem;font-weight:600;color:var(--color-primary);text-decoration:none}.nav-links[data-astro-cid-37fxchfa]{display:flex;align-items:center;gap:1.5rem}.nav-links[data-astro-cid-37fxchfa] a[data-astro-cid-37fxchfa]{font-size:.875rem;color:var(--color-on-surface-variant);text-decoration:none;transition:color .2s}.nav-links[data-astro-cid-37fxchfa] a[data-astro-cid-37fxchfa]:hover{color:var(--color-primary)}.site-footer[data-astro-cid-37fxchfa]{border-top:1px solid var(--color-outline-variant);margin-top:6rem;padding:3rem 1.5rem;text-align:center;font-size:.875rem;color:var(--color-on-surface-variant)}.site-footer[data-astro-cid-37fxchfa] p[data-astro-cid-37fxchfa]{margin:.25rem 0}
