.header[data-astro-cid-3ef6ksr2]{border-bottom:var(--border-width) solid var(--border);background:var(--paper)}.header__inner[data-astro-cid-3ef6ksr2]{max-width:var(--measure);margin:0 auto;padding:20px var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.header__brand[data-astro-cid-3ef6ksr2]{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}.header__wordmark[data-astro-cid-3ef6ksr2]{font-family:var(--font-display);font-weight:var(--weight-display);font-size:var(--text-4);letter-spacing:var(--tracking-display);color:var(--ink);white-space:nowrap}.header__nav[data-astro-cid-3ef6ksr2]{display:flex;gap:var(--space-4)}.header__link[data-astro-cid-3ef6ksr2]{font-family:var(--font-body);font-size:var(--text-5);color:var(--ink-60);text-decoration:none;border-bottom:2px solid transparent;padding-bottom:4px;transition:color var(--motion-fast) var(--ease-out),border-color var(--motion-fast) var(--ease-out)}.header__link[data-astro-cid-3ef6ksr2]:hover{color:var(--ink)}.header__link[data-astro-cid-3ef6ksr2].is-active{color:var(--ink);border-bottom-color:var(--impossible-purple)}@media(max-width:760px){.header__inner[data-astro-cid-3ef6ksr2]{flex-wrap:wrap;row-gap:var(--space-2);column-gap:var(--space-2);padding-block:var(--space-2)}.header__brand[data-astro-cid-3ef6ksr2]{order:1}.header__cta[data-astro-cid-3ef6ksr2]{order:2}.header__nav[data-astro-cid-3ef6ksr2]{order:3;flex-basis:100%;flex-wrap:wrap;row-gap:10px;column-gap:var(--space-2)}.header__wordmark[data-astro-cid-3ef6ksr2]{font-size:var(--text-5)}}@media(max-width:600px){.header__wordmark[data-astro-cid-3ef6ksr2]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}}.footer[data-astro-cid-sz7xmlte]{background:var(--void);color:var(--dark-text);font-family:var(--font-body);margin-top:auto}.footer__inner[data-astro-cid-sz7xmlte]{max-width:var(--measure);margin:0 auto;padding:var(--space-6) var(--gutter) var(--space-4)}.footer__top[data-astro-cid-sz7xmlte]{display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--space-5);padding-bottom:var(--space-4);border-bottom:var(--border-width) solid var(--border-dark)}.footer__identity[data-astro-cid-sz7xmlte]{display:flex;flex-direction:column;gap:12px;max-width:34ch}.footer__slogan[data-astro-cid-sz7xmlte]{font-family:var(--font-display);font-weight:var(--weight-display);font-size:var(--text-5);line-height:var(--leading-display);letter-spacing:var(--tracking-display);color:var(--beam-light);margin:0}.footer__brand[data-astro-cid-sz7xmlte]{display:inline-flex;align-items:center;gap:12px;align-self:flex-start;text-decoration:none;color:var(--dark-text)}.footer__wordmark[data-astro-cid-sz7xmlte]{font-family:var(--font-display);font-weight:var(--weight-display);font-size:var(--text-5);letter-spacing:var(--tracking-display)}.footer__cols[data-astro-cid-sz7xmlte]{display:flex;gap:var(--space-6);flex-wrap:wrap}.footer__col[data-astro-cid-sz7xmlte]{display:flex;flex-direction:column;gap:10px}.footer__label[data-astro-cid-sz7xmlte]{font-family:var(--font-mono);font-weight:var(--weight-mono);font-size:12px;line-height:var(--leading-body);letter-spacing:.08em;text-transform:uppercase;color:#eae6f780;margin:0}.footer__col[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte],.footer__bottom[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{color:var(--beam-light);text-decoration:none;transition:color var(--motion-fast) var(--ease-out)}.footer__col[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover,.footer__bottom[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{color:var(--paper);text-decoration:underline;text-underline-offset:2px}.footer__bottom[data-astro-cid-sz7xmlte]{padding-top:20px;display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:space-between;font-family:var(--font-mono);font-size:12px;color:#eae6f780}.footer__bottom[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{font-size:12px}.chat[data-astro-cid-ryytxnzt]{position:fixed;right:var(--space-3);bottom:var(--space-3);z-index:50;display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-2);font-family:var(--font-body)}.chat__launcher[data-astro-cid-ryytxnzt]{display:inline-flex;align-items:center;gap:var(--space-1);background:var(--impossible-purple);color:var(--paper);border:var(--border-width) solid var(--impossible-purple);border-radius:var(--radius-none);padding:12px var(--space-2);font-family:var(--font-body);font-weight:var(--weight-body-strong);font-size:var(--text-5);cursor:pointer;transition:background var(--motion-fast) var(--ease-out),border-color var(--motion-fast) var(--ease-out)}.chat__launcher[data-astro-cid-ryytxnzt]:hover,.chat__launcher[data-astro-cid-ryytxnzt]:active{background:var(--beam-dark);border-color:var(--beam-dark)}.chat__panel[data-astro-cid-ryytxnzt]{width:min(370px,calc(100vw - var(--space-3) * 2));max-height:min(560px,calc(100vh - var(--space-6)));display:flex;flex-direction:column;background:var(--paper);border:var(--border-width) solid var(--ink);border-radius:var(--radius-none)}.chat__panel[data-astro-cid-ryytxnzt][hidden]{display:none}.chat__header[data-astro-cid-ryytxnzt]{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2);padding:14px var(--space-2);background:var(--void);color:var(--dark-text)}.chat__title[data-astro-cid-ryytxnzt]{font-family:var(--font-display);font-weight:var(--weight-display);font-size:var(--text-5);letter-spacing:var(--tracking-display);margin:0}.chat__subtitle[data-astro-cid-ryytxnzt]{font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--paper-55);margin:2px 0 0}.chat__close[data-astro-cid-ryytxnzt]{background:transparent;border:0;color:var(--dark-text);cursor:pointer;padding:2px;line-height:0;transition:color var(--motion-fast) var(--ease-out)}.chat__close[data-astro-cid-ryytxnzt]:hover{color:var(--beam-light)}.chat__notice[data-astro-cid-ryytxnzt]{font-size:var(--text-6);line-height:var(--leading-body);color:var(--ink-60);margin:0;padding:var(--space-1) var(--space-2);border-bottom:var(--border-width) solid var(--border)}.chat__log[data-astro-cid-ryytxnzt]{flex:1;overflow-y:auto;padding:var(--space-2);display:flex;flex-direction:column;gap:var(--space-1);min-height:180px}.chat__msg[data-astro-cid-ryytxnzt]{font-size:var(--text-5);line-height:var(--leading-body);padding:10px 12px;border-radius:var(--radius-none);max-width:92%;white-space:pre-wrap;overflow-wrap:anywhere}.chat__msg--assistant[data-astro-cid-ryytxnzt]{background:var(--paper);color:var(--ink);border:var(--border-width) solid var(--border);align-self:flex-start}.chat__msg--user[data-astro-cid-ryytxnzt]{background:var(--impossible-purple);color:var(--paper);border:var(--border-width) solid var(--impossible-purple);align-self:flex-end}.chat__msg--system[data-astro-cid-ryytxnzt]{background:var(--paper);color:var(--error);border:var(--border-width) solid var(--error);align-self:stretch;max-width:100%;font-size:var(--text-6)}.chat__msg--pending[data-astro-cid-ryytxnzt]{color:var(--ink-60)}.chat__form[data-astro-cid-ryytxnzt]{display:flex;gap:var(--space-1);padding:var(--space-2);border-top:var(--border-width) solid var(--border)}.chat__input[data-astro-cid-ryytxnzt]{flex:1;min-width:0;font:inherit;font-size:var(--text-5);color:var(--ink);background:var(--paper);border:var(--border-width) solid var(--border);border-radius:var(--radius-none);padding:10px 12px;resize:none;transition:border-color var(--motion-fast) var(--ease-out)}.chat__input[data-astro-cid-ryytxnzt]:focus-visible{border-color:var(--impossible-purple);outline:2px solid var(--focus-ring);outline-offset:2px}.chat__send[data-astro-cid-ryytxnzt]{flex:0 0 auto;align-self:flex-end;background:var(--impossible-purple);color:var(--paper);border:var(--border-width) solid var(--impossible-purple);border-radius:var(--radius-none);padding:10px var(--space-2);font-family:var(--font-body);font-weight:var(--weight-body-strong);font-size:var(--text-5);cursor:pointer;transition:background var(--motion-fast) var(--ease-out),border-color var(--motion-fast) var(--ease-out)}.chat__send[data-astro-cid-ryytxnzt]:hover:not(:disabled),.chat__send[data-astro-cid-ryytxnzt]:active:not(:disabled){background:var(--beam-dark);border-color:var(--beam-dark)}.chat__send[data-astro-cid-ryytxnzt]:disabled,.chat__input[data-astro-cid-ryytxnzt]:disabled{opacity:.4;cursor:not-allowed}@media(max-width:560px){.chat[data-astro-cid-ryytxnzt]{right:var(--space-2);bottom:var(--space-2);left:var(--space-2);align-items:flex-end}.chat__panel[data-astro-cid-ryytxnzt]{width:100%;max-height:min(72vh,calc(100vh - var(--space-6)))}.chat__launcher-label[data-astro-cid-ryytxnzt]{display:none}.chat__launcher[data-astro-cid-ryytxnzt]{padding:14px}}@font-face{font-family:Unbounded;font-style:normal;font-weight:600;font-display:swap;src:url(/_astro/unbounded-cyrillic.C627f1f8.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Unbounded;font-style:normal;font-weight:600;font-display:swap;src:url(/_astro/unbounded-latin.D5afBTBx.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Unbounded;font-style:normal;font-weight:700;font-display:swap;src:url(/_astro/unbounded-cyrillic.C627f1f8.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Unbounded;font-style:normal;font-weight:700;font-display:swap;src:url(/_astro/unbounded-latin.D5afBTBx.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Sofia Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/_astro/sofia-sans-cyrillic.waSyF_sL.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Sofia Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/_astro/sofia-sans-latin.B9fg0t1U.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Sofia Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/_astro/sofia-sans-cyrillic.waSyF_sL.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Sofia Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/_astro/sofia-sans-latin.B9fg0t1U.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Sofia Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/_astro/sofia-sans-cyrillic.waSyF_sL.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Sofia Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/_astro/sofia-sans-latin.B9fg0t1U.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_astro/jetbrains-mono-cyrillic.Buze_B52.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_astro/jetbrains-mono-latin.6fWv1k7M.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_astro/jetbrains-mono-cyrillic.Buze_B52.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_astro/jetbrains-mono-latin.6fWv1k7M.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--void:#0E0A1D;--paper:#F8F7FC;--ink:#16112B;--beam-dark:#35188F;--impossible-purple:#6E36F5;--beam-light:#C0A9FF;--dark-text:#EAE6F7;--bg:var(--paper);--bg-dark:var(--void);--text:var(--ink);--text-dark:var(--dark-text);--surface:var(--paper);--surface-dark:var(--void);--border:rgba(22,17,43,.12);--border-dark:rgba(248,247,252,.14);--primary:var(--impossible-purple);--primary-text:var(--paper);--primary-hover:var(--beam-dark);--primary-active:var(--beam-dark);--link:var(--beam-dark);--link-hover:var(--impossible-purple);--focus-ring:var(--impossible-purple);--accent-subtle:var(--beam-light);--error:#C0392B}:root{--font-display:"Unbounded",system-ui,sans-serif;--font-body:"Sofia Sans","Inter",system-ui,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,"SFMono-Regular",monospace;--text-1:56px;--text-2:36px;--text-3:24px;--text-4:18px;--text-5:16px;--text-6:13px;--leading-display:1.1;--leading-body:1.6;--tracking-display:-.015em;--weight-display:600;--weight-display-strong:700;--weight-body:400;--weight-body-medium:500;--weight-body-strong:600;--weight-mono:400;--weight-mono-medium:500}:root{--space-1:8px;--space-2:16px;--space-3:24px;--space-4:32px;--space-5:48px;--space-6:64px;--space-7:96px;--space-8:128px;--radius-none:0px;--radius-sm:2px;--border-width:1px;--motion-fast:.15s;--motion-slow:.2s;--ease-out:cubic-bezier(.16,1,.3,1)}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:var(--text-5);line-height:var(--leading-body);margin:0}h1,h2,h3{font-family:var(--font-display);font-weight:var(--weight-display);line-height:var(--leading-display);letter-spacing:var(--tracking-display);margin:0}a{color:var(--link);text-decoration:underline;text-underline-offset:2px}a:hover{color:var(--link-hover)}code,pre,kbd{font-family:var(--font-mono)}:root{--display-1: clamp(30px, 7.2vw, var(--text-1));--display-2: clamp(27px, 4.4vw, var(--text-2));--display-3: clamp(20px, 2.6vw, var(--text-3));--lede: clamp(17px, 1.9vw, var(--text-4));--gutter: clamp(20px, 5vw, var(--space-5));--section-y: clamp(var(--space-6), 9vw, var(--space-7));--measure: 1280px;--ink-75: rgba(22, 17, 43, .75);--ink-60: rgba(22, 17, 43, .6);--paper-55: rgba(234, 230, 247, .55);--paper-60: rgba(234, 230, 247, .6)}html{-webkit-text-size-adjust:100%}body{min-height:100vh;display:flex;flex-direction:column}img,svg{max-width:100%}.container{max-width:var(--measure);margin:0 auto;padding-inline:var(--gutter)}.section{padding-block:var(--section-y)}.section--dark{background:var(--void);color:var(--dark-text)}.section--dark a{color:var(--beam-light)}.section--dark a:hover{color:var(--paper)}.h1{font-size:var(--display-1);font-weight:var(--weight-display-strong);color:var(--ink)}.h1,.h2{overflow-wrap:break-word}.h2{font-size:var(--display-2)}.h3{font-size:var(--display-3)}.lede{font-size:var(--lede);line-height:var(--leading-body);color:var(--ink-75)}.eyebrow{font-family:var(--font-mono);font-size:var(--text-6);font-weight:var(--weight-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--beam-dark);margin:0}.section--dark .eyebrow{color:var(--beam-light)}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.section--dark :focus-visible{outline-color:var(--beam-light)}.skip-link{position:absolute;left:var(--space-1);top:-100%;z-index:100;background:var(--impossible-purple);color:var(--paper);padding:var(--space-1) var(--space-2);font-weight:var(--weight-body-strong);text-decoration:none;transition:top var(--motion-fast) var(--ease-out)}.skip-link:focus{top:var(--space-1);color:var(--paper)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
