@font-face{font-family:Geist;src:url(/_astro/Geist-Variable.A_t6Mmg-.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Geist Mono;src:url(/_astro/GeistMono-Variable.MdiddZGA.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Geist Pixel;src:url(/_astro/GeistPixel-Square.CX86sJxI.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{--font-sans: "Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--font-pixel: "Geist Pixel", var(--font-mono);--font-body: var(--font-sans);--font-chrome: var(--font-mono);--font-code: var(--font-mono);--text-2xs: .6875rem;--text-xs: .75rem;--text-sm: .8125rem;--text-base: 1.0625rem;--text-md: 1.125rem;--text-lg: 1.25rem;--text-xl: clamp(1.5rem, 2.6vw, 2rem);--text-2xl: clamp(2rem, 4.2vw, 3.25rem);--text-display: clamp(2.25rem, 5.2vw, 4.25rem);--leading-tight: 1.15;--leading-snug: 1.35;--leading-body: 1.7;--measure: 65ch;--measure-narrow: 54ch;--page-max: 74rem;--gutter: clamp(1.25rem, 4vw, 3.5rem);--section: clamp(2.5rem, 6vh, 4.5rem);--radius: .25rem;--z-header: 50;--z-twin: 80;--z-cover: 100;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--dur-fast: .12s;--dur-base: .2s;--dur-slow: .42s;--muted: var(--text-2);--faint: var(--text-3);--link: var(--accent);color-scheme:dark}[data-theme=dark]{--bg: #08090b;--bg-soft: #0c0e12;--panel: #101318;--panel-2: #151921;--text: #e9eaee;--text-2: #a2a7b3;--text-3: #6d7380;--line: rgb(255 255 255 / .09);--line-strong: rgb(255 255 255 / .18);--accent: #8ea6ff;--accent-strong: #b7c5ff;--accent-soft: rgb(142 166 255 / .14);--accent-ink: #0a0d16;--selection: rgb(142 166 255 / .3);--field-bg: #06070a;--field-deep: #0b1533;--field-a: #3b6df6;--field-b: #8b7df5;--field-core: #e3e7ff;color-scheme:dark}[data-theme=light]{--bg: #f3f0e7;--bg-soft: #ece8dc;--panel: #faf8f2;--panel-2: #ffffff;--text: #14161a;--text-2: #4d525c;--text-3: #7b808a;--line: rgb(20 22 26 / .14);--line-strong: rgb(20 22 26 / .3);--accent: #2947d6;--accent-strong: #1c34a8;--accent-soft: rgb(41 71 214 / .1);--accent-ink: #ffffff;--selection: rgb(41 71 214 / .18);--field-bg: #f3f0e7;--field-deep: #c9d1ea;--field-a: #2b4ad8;--field-b: #6a56d8;--field-core: #10142a;color-scheme:light}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{background:var(--bg);scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{min-height:100dvh;display:flex;flex-direction:column;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background:var(--selection)}a{color:inherit}img,picture,svg,canvas{display:block;max-width:100%}button,input,textarea,select{font:inherit;color:inherit}button{background:none;border:0;padding:0;cursor:pointer}:focus-visible{outline:1px solid var(--accent);outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.chrome{position:sticky;top:0;z-index:var(--z-header);display:flex;align-items:center;gap:1.25rem;min-height:2.75rem;padding:.5rem var(--gutter);background:color-mix(in srgb,var(--bg) 92%,transparent);border-bottom:1px solid var(--line);backdrop-filter:blur(10px);font-family:var(--font-chrome);font-size:var(--text-xs);letter-spacing:.01em}.chrome a{color:var(--text-2);text-decoration:none;transition:color var(--dur-fast) linear}.chrome a:hover,.chrome a:focus-visible,.chrome a[aria-current=page]{color:var(--text)}.brand{color:var(--text)!important;font-family:var(--font-pixel);font-size:1rem;line-height:1;letter-spacing:0;white-space:nowrap}.chrome-nav{display:flex;align-items:center;gap:.25rem;margin-left:auto;min-width:0}.chrome-nav a{padding:.2rem .4rem;white-space:nowrap}.chrome-controls{display:flex;align-items:center;gap:.25rem;margin-left:.75rem;padding-left:.75rem;border-left:1px solid var(--line)}.control{padding:.2rem .4rem;color:var(--text-2);font-family:var(--font-chrome);font-size:var(--text-xs);line-height:1.4;transition:color var(--dur-fast) linear}.control:hover,.control:focus-visible{color:var(--text)}.control[aria-pressed=true]{color:var(--text)}.shell{flex:1;display:grid;grid-template-columns:minmax(0,1fr);width:100%;max-width:var(--page-max);margin:0 auto;padding:0 var(--gutter)}.shell--split{grid-template-columns:minmax(0,1fr) minmax(20rem,42vw);gap:clamp(2rem,5vw,5rem);max-width:none;padding-right:0}.shell-main{min-width:0;padding:clamp(2rem,6vh,4.5rem) 0 3.5rem}.shell--split .shell-main{--split-measure: 44rem;--split-inset: clamp( 0px, calc(100% - var(--split-measure)), calc((100vw - var(--page-max)) / 2) );max-width:calc(var(--split-measure) + var(--split-inset));padding-left:var(--split-inset)}.shell-field{position:sticky;top:2.75rem;height:calc(100dvh - 2.75rem);border-left:1px solid var(--line);overflow:hidden}.site-footer{border-top:1px solid var(--line);padding:1.5rem var(--gutter);font-family:var(--font-chrome);font-size:var(--text-xs);color:var(--text-3)}.site-footer-inner{display:flex;flex-wrap:wrap;align-items:baseline;gap:.75rem 2rem;max-width:var(--page-max);margin:0 auto}.site-footer nav{display:flex;flex-wrap:wrap;gap:.25rem 1.25rem}.site-footer a{color:var(--text-2);text-decoration:none;transition:color var(--dur-fast) linear}.site-footer a:hover,.site-footer a:focus-visible{color:var(--text)}.site-footer .status{margin-left:auto;color:var(--text-3)}.eyebrow{font-family:var(--font-chrome);font-size:var(--text-2xs);letter-spacing:.12em;text-transform:uppercase;color:var(--text-3)}.mono{font-family:var(--font-chrome)}.muted{color:var(--text-2)}.faint{color:var(--text-3)}.rule{height:1px;background:var(--line);border:0}.tag{display:inline-flex;align-items:center;padding:.1rem .4rem;border:1px solid var(--line);border-radius:999px;color:var(--text-2);font-family:var(--font-chrome);font-size:var(--text-2xs);line-height:1.4;text-decoration:none;white-space:nowrap}.tag:hover,.tag:focus-visible{border-color:var(--line-strong);color:var(--text)}.button{display:inline-flex;align-items:center;gap:.5rem;padding:.45rem .8rem;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--panel);color:var(--text);font-family:var(--font-chrome);font-size:var(--text-xs);text-decoration:none;transition:border-color var(--dur-fast) linear,background var(--dur-fast) linear}.button:hover,.button:focus-visible{border-color:var(--accent);background:var(--accent-soft)}.skip-link{position:fixed;top:-3rem;left:var(--gutter);z-index:100;padding:.4rem .75rem;background:var(--panel);border:1px solid var(--line-strong);color:var(--text);font-family:var(--font-chrome);font-size:var(--text-xs);text-decoration:none}.skip-link:focus{top:.5rem}.prose{max-width:var(--measure)}.prose>*+*{margin-top:1.15em}.prose h2{margin-top:2.2em;font-size:var(--text-lg);font-weight:600;line-height:var(--leading-snug);letter-spacing:-.01em}.prose h3{margin-top:1.8em;font-size:var(--text-md);font-weight:600;line-height:var(--leading-snug)}.prose p,.prose li{color:var(--text-2);text-wrap:pretty}.prose strong{color:var(--text);font-weight:600}.prose em{font-style:italic}.prose a{color:var(--text);text-decoration-line:underline;text-decoration-color:color-mix(in srgb,var(--accent) 55%,transparent);text-decoration-thickness:1px;text-underline-offset:3px;transition:text-decoration-color var(--dur-fast) linear}.prose a:hover{text-decoration-color:var(--accent)}.prose ul,.prose ol{padding-left:1.1em}.prose li+li{margin-top:.35em}.prose li::marker{color:var(--text-3)}.prose blockquote{border-left:2px solid var(--accent);padding-left:1rem;color:var(--text);font-size:var(--text-md)}.prose pre{overflow-x:auto;padding:1rem;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);font-family:var(--font-code);font-size:var(--text-sm);line-height:1.6;tab-size:2;white-space:pre-wrap;overflow-wrap:anywhere}[data-theme=light] .prose .astro-code,[data-theme=light] .prose .astro-code span{color:var(--shiki-light)}[data-theme=dark] .prose .astro-code,[data-theme=dark] .prose .astro-code span{color:var(--shiki-dark)}.prose :not(pre)>code{padding:.1em .35em;background:var(--panel);border:1px solid var(--line);border-radius:3px;font-family:var(--font-code);font-size:.9em;overflow-wrap:anywhere}.prose hr{margin:2.5em 0;border:0;border-top:1px solid var(--line)}.prose table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.prose th,.prose td{padding:.45rem .6rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.prose th{font-family:var(--font-chrome);font-size:var(--text-xs);font-weight:500;color:var(--text-3)}.prose .table-scroll{overflow-x:auto}.prose .table-scroll table{min-width:40rem}.prose figure{margin:1.75em 0}.prose img:not(.figure img){display:block;max-width:100%;height:auto;border:1px solid var(--line);border-radius:var(--radius)}.prose figcaption{margin-top:.5rem;color:var(--text-3);font-family:var(--font-chrome);font-size:var(--text-xs)}@media(max-width:960px){.shell--split{grid-template-columns:minmax(0,1fr);padding-right:var(--gutter);gap:0}.shell--split .shell-main{max-width:none;padding-left:0}.shell-field{position:static;height:36vh;margin:0 calc(var(--gutter) * -1) var(--section);border-left:0;border-top:1px solid var(--line);order:-1}}@media(max-width:680px){.chrome{flex-wrap:wrap;gap:.25rem .75rem}.chrome-nav{order:3;width:100%;margin-left:calc(var(--gutter) * -1);padding:0 var(--gutter);overflow-x:auto;scrollbar-width:none}.chrome-nav::-webkit-scrollbar{display:none}.chrome-controls{margin-left:auto}.site-footer .status{margin-left:0;width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.prose pre.has-copy{position:relative;padding-right:4.75rem}.code-copy{position:absolute;top:.5rem;right:.5rem;padding:.125rem .4rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);color:var(--text-3);font-family:var(--font-chrome);font-size:var(--text-2xs);line-height:1.5;white-space:nowrap;transition:color var(--dur-fast) linear,border-color var(--dur-fast) linear}.code-copy:hover,.code-copy:focus-visible,.code-copy[data-copied]{color:var(--text);border-color:var(--line-strong)}.code-copy:focus-visible{outline:1px solid var(--accent);outline-offset:2px}.cover[data-astro-cid-ajo25xk5]{view-transition-name:dither-cover;position:fixed;inset:0;z-index:var(--z-cover);overflow:hidden;pointer-events:none;color:var(--accent);contain:strict}.cover[data-astro-cid-ajo25xk5][hidden]{display:none}canvas[data-astro-cid-ajo25xk5]{position:absolute;top:0;left:0;display:block;image-rendering:pixelated}@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}}.field[data-astro-cid-5t6xa5al]{view-transition-name:dither-field;position:relative;width:100%;height:100%;background:var(--field-bg, #06070a);overflow:hidden;transition:background var(--dur-slow) linear}.field[data-astro-cid-5t6xa5al] canvas[data-astro-cid-5t6xa5al]{display:block;width:100%;height:100%;image-rendering:pixelated;image-rendering:crisp-edges}.field-static[data-astro-cid-5t6xa5al]{position:absolute;inset:0;background-color:var(--field-bg, #06070a);background-image:radial-gradient(circle,color-mix(in srgb,var(--field-a, #6174eb) 85%,transparent) 34%,transparent 38%);background-size:6px 6px;-webkit-mask-image:radial-gradient(38% 30% at 74% 28%,#000 0%,transparent 100%),radial-gradient(30% 26% at 22% 68%,#000 0%,transparent 100%),radial-gradient(42% 34% at 58% 86%,#000 0%,transparent 100%);mask-image:radial-gradient(38% 30% at 74% 28%,#000 0%,transparent 100%),radial-gradient(30% 26% at 22% 68%,#000 0%,transparent 100%),radial-gradient(42% 34% at 58% 86%,#000 0%,transparent 100%)}.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}::view-transition{pointer-events:none}::view-transition-group(root),::view-transition-old(root),::view-transition-new(root){animation:none}::view-transition-group(dither-field){animation:none;z-index:30}::view-transition-old(dither-field){display:none}::view-transition-new(dither-field){animation:none}::view-transition-group(twin){animation:none;z-index:40}::view-transition-old(twin){display:none}::view-transition-new(twin){animation:none}::view-transition-group(dither-cover){animation:none;z-index:50}::view-transition-old(dither-cover){display:none}::view-transition-new(dither-cover){animation:none}@media(prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-image-pair(*),::view-transition-old(*),::view-transition-new(*){animation-duration:0s!important;animation-delay:0s!important}}.twin{--twin-hair: rgb(255 255 255 / .1);--twin-hair-strong: rgb(255 255 255 / .18);--twin-accent: rgb(97 116 235);position:fixed;right:1.25rem;bottom:1.25rem;z-index:40;display:flex;flex-direction:column;align-items:flex-end;gap:.625rem;font-size:.75rem;line-height:1.6;view-transition-name:twin}.twin-mark{display:inline-block;flex:none;width:5px;height:5px;color:var(--twin-accent);background-image:linear-gradient(currentColor,currentColor),linear-gradient(currentColor,currentColor),linear-gradient(currentColor,currentColor),linear-gradient(currentColor,currentColor);background-size:2px 2px;background-position:0 0,3px 0,0 3px,3px 3px;background-repeat:no-repeat}.twin-trigger{display:inline-flex;align-items:center;gap:.625rem;padding:.5rem .875rem;font:inherit;color:var(--faint);background:var(--bg);border:1px solid var(--twin-hair);cursor:pointer;transition:color .2s,border-color .2s}.twin-trigger:hover,.twin-trigger:focus-visible{color:var(--text);border-color:var(--twin-hair-strong)}.twin.is-open .twin-trigger,.twin-panel[hidden]{display:none}.twin-panel{display:flex;flex-direction:column;width:24rem;max-height:min(34rem,100dvh - 2.5rem);background:var(--bg);border:1px solid var(--twin-hair-strong)}.twin-head{display:flex;align-items:center;gap:.625rem;padding:.625rem .875rem;border-bottom:1px solid var(--twin-hair)}.twin-title{color:var(--muted)}.twin-status{margin-left:auto;color:var(--faint);font-size:.6875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.twin-act{padding:0;font:inherit;font-size:.6875rem;color:var(--faint);background:none;border:0;cursor:pointer;transition:color .2s}.twin-act:hover,.twin-act:focus-visible{color:var(--text)}.twin-log{flex:1 1 auto;min-height:9rem;overflow-y:auto;overscroll-behavior:contain;padding:.875rem .875rem .5rem;display:flex;flex-direction:column;gap:.875rem}.twin-msg{display:grid;grid-template-columns:2.75rem minmax(0,1fr);gap:.5rem;text-wrap:pretty}.twin-who{color:var(--faint);font-size:.625rem;letter-spacing:.1em;text-transform:uppercase;line-height:1.2rem}.twin-body{white-space:pre-wrap;overflow-wrap:anywhere}.twin-user .twin-body{color:var(--text)}.twin-assistant .twin-body{color:var(--muted)}.twin-form{display:flex;align-items:flex-end;gap:.75rem;padding:.625rem .875rem;border-top:1px solid var(--twin-hair)}.twin-input{flex:1 1 auto;min-width:0;padding:0;font:inherit;color:var(--text);background:none;border:0;resize:none;field-sizing:content;max-height:6rem}.twin-input::placeholder{color:var(--faint)}.twin-input:focus{outline:none}.twin-form:focus-within{border-top-color:var(--twin-hair-strong)}.twin-send{padding:0;font:inherit;color:var(--muted);background:none;border:0;cursor:pointer;transition:color .2s}.twin-send:hover,.twin-send:focus-visible{color:var(--text)}.twin-send:disabled{color:var(--faint);cursor:default}.twin-hint{margin:0;padding:0 .875rem .625rem;color:var(--faint);font-size:.625rem}.twin-hint a{color:inherit;text-decoration-line:underline;text-decoration-color:color-mix(in srgb,currentColor 40%,transparent);text-underline-offset:3px}.twin :focus-visible{outline:1px solid var(--faint);outline-offset:2px}.twin .twin-input:focus-visible{outline:none}@media(max-width:640px){.twin{left:0;right:0;bottom:0;align-items:flex-end}.twin-trigger{margin:0 1rem 1rem 0}.twin-panel{width:100%;max-height:85dvh;border-left:0;border-right:0;border-bottom:0}}.twin-panel{opacity:1;translate:0 0;transition:opacity .18s ease-out,translate .18s ease-out}@starting-style{.twin-panel{opacity:0;translate:0 6px}}.twin-status.is-thinking{background:linear-gradient(90deg,var(--faint) 0%,var(--text) 50%,var(--faint) 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:twin-shine 1.6s linear infinite}@keyframes twin-shine{0%{background-position:200% 0}to{background-position:-200% 0}}.is-live .twin-body:after{content:"";display:inline-block;width:.5em;height:1em;margin-left:.15em;vertical-align:-.15em;background:currentColor;animation:twin-blink 1s step-end infinite}@keyframes twin-blink{50%{opacity:0}}@media(prefers-reduced-motion:reduce){.twin-panel{transition:none}.twin-status.is-thinking{animation:none;background:none;color:var(--muted)}.is-live .twin-body:after{animation:none}}
