.site-header{backdrop-filter:blur(6px);background:var(--surface-header);border-bottom:1px solid var(--line);z-index:50;position:sticky;top:0}.site-nav{justify-content:space-between;align-items:center;gap:16px;min-height:60px;padding-top:18px;padding-bottom:18px;display:flex;position:relative}.site-logo{font-family:var(--mono);letter-spacing:0;flex-shrink:0;font-size:13px;font-weight:500;text-decoration:none;transition:color .18s}.site-logo__cursor{background:var(--text);vertical-align:-2px;width:.55em;height:1em;margin-left:2px;animation:1s step-end infinite blink;display:inline-block}.navlinks{color:var(--muted);font-family:var(--mono);scrollbar-width:none;flex:1;justify-content:flex-end;gap:clamp(18px,2.4vw,28px);font-size:12px;display:flex;overflow-x:auto}.navlinks::-webkit-scrollbar{display:none}.navlinks a{white-space:nowrap;border-bottom:1px solid #0000;padding-bottom:3px;text-decoration:none;transition:border-color .18s,color .18s,transform .18s;position:relative}.navlinks a:hover,.navlinks a:focus-visible,.navlinks a.active{border-color:var(--text);color:var(--text)}.navlinks a:hover,.navlinks a:focus-visible{transform:translateY(-2px)}.site-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.language-switcher{color:var(--muted);font-family:var(--mono);font-size:10px;position:relative}.language-switcher summary{border:1px solid var(--line);cursor:pointer;place-items:center;min-inline-size:36px;padding:5px 7px;list-style:none;transition:background-color .16s,color .16s;display:grid}.language-switcher summary::-webkit-details-marker{display:none}.language-switcher summary::marker{content:""}.language-switcher[open] summary,.language-switcher summary:hover,.language-switcher summary:focus-visible{background:var(--text);color:var(--background)}.language-switcher__menu{background:var(--surface-menu);border:1px solid var(--line);z-index:60;min-inline-size:132px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.language-switcher__menu a{justify-content:space-between;align-items:center;gap:10px;padding:9px 10px;text-decoration:none;transition:background-color .16s,color .16s;display:flex}.language-switcher__menu a+a{border-top:1px solid var(--line)}.language-switcher__menu a:hover,.language-switcher__menu a:focus-visible,.language-switcher__menu a.active{background:var(--text);color:var(--background)}.language-switcher__menu strong{font-size:10px;font-weight:500}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}@media (width<=640px){.site-nav{flex-direction:column;align-items:flex-start;gap:14px;min-height:96px}.navlinks{justify-content:flex-start;gap:18px;max-width:100%}.site-actions{right:var(--page-gutter);position:absolute;top:16px}}@media (prefers-reduced-motion:reduce){.site-logo__cursor{opacity:1;animation:none}.navlinks a,.language-switcher summary,.language-switcher a{transition:none}}.theme-toggle{background:var(--surface-floating);border:1px solid var(--line);color:var(--muted);cursor:pointer;font-family:var(--mono);letter-spacing:0;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;padding:2px;font-size:10px;transition:border-color .16s,transform .16s;display:inline-grid}.theme-toggle:hover,.theme-toggle:focus-visible{border-color:var(--line-strong);transform:translateY(-1px)}.theme-toggle__option{text-align:center;min-inline-size:32px;padding:6px 7px;line-height:1;transition:background-color .16s,color .16s;display:block}.theme-toggle__option[data-active=true]{background:var(--text);color:var(--background)}@media (prefers-reduced-motion:reduce){.theme-toggle,.theme-toggle__option{transition:none}}.site-footer{border-top:1px solid var(--line);color:var(--muted);font-family:var(--mono)}.site-footer__inner{justify-content:space-between;align-items:center;gap:16px;min-block-size:72px;padding-top:18px;padding-bottom:18px;font-size:11px;display:flex}.site-footer p{margin:0}.site-footer strong{color:var(--text);font-weight:600}@media (width<=640px){.site-footer__inner{flex-direction:column;align-items:flex-start;gap:6px}}.page-transition-loader{opacity:0;pointer-events:none;z-index:1000;height:2px;transition:opacity .16s;position:fixed;inset:0 0 auto;overflow:hidden}.page-transition-loader:before{background:var(--text);content:"";transform-origin:0;width:100%;height:100%;display:block;transform:translate(-28%)scaleX(.18)}html[data-page-loading=true] .page-transition-loader{opacity:1}html[data-page-loading=true] .page-transition-loader:before{animation:.86s cubic-bezier(.76,0,.24,1) infinite page-loader}@keyframes page-loader{0%{transform:translate(-42%)scaleX(.14)}58%{transform:translate(18%)scaleX(.56)}to{transform:translate(108%)scaleX(.18)}}@media (prefers-reduced-motion:reduce){.page-transition-loader,.page-transition-loader:before{transition:none;animation:none}}.signal-launcher{background:var(--surface-floating);border:1px solid var(--line-strong);color:var(--text);cursor:pointer;font-family:var(--mono);letter-spacing:.02em;z-index:40;align-items:center;gap:10px;padding:8px 10px;font-size:11px;transition:background-color .18s,border-color .18s,color .18s,transform .18s;display:inline-flex;position:fixed;bottom:18px;right:18px}.signal-launcher:hover,.signal-launcher:focus-visible{background:var(--text);border-color:var(--text);color:var(--background);transform:translateY(-2px)}.signal-launcher kbd{font:inherit;border:1px solid;padding:3px 5px;line-height:1}.signal-launcher[data-signal-copied=true] span{color:#0000;position:relative}.signal-launcher[data-signal-copied=true] span:after{color:currentColor;content:"copied";position:absolute;inset:0}.signal-console{background:var(--surface-overlay);backdrop-filter:blur(12px);z-index:120;align-items:start;padding:clamp(48px,10vh,92px) clamp(16px,4vw,32px);display:grid;position:fixed;inset:0}.signal-console[hidden]{display:none}.signal-console__panel{background:var(--panel-gradient), var(--background);border:1px solid var(--line-medium);box-shadow:var(--shadow-large);max-inline-size:680px;justify-self:center;width:min(100%,680px);overflow:hidden}.signal-console__header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:start;gap:18px;padding:clamp(16px,3vw,22px) clamp(18px,3vw,24px);display:flex}.signal-console__header p,.signal-console__header span,.signal-console__actions,.signal-console__close,.signal-console__hint,.signal-console__empty{font-family:var(--mono)}.signal-console__header p{color:var(--text);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:12px}.signal-console__header span{color:var(--muted);margin-top:4px;font-size:11px;display:block}.signal-console__actions{align-items:center;gap:8px;display:flex}.signal-console__actions a,.signal-console__close{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;padding:6px 7px;font-size:10px;text-decoration:none;transition:background-color .16s,color .16s}.signal-console__actions a:hover,.signal-console__actions a:focus-visible,.signal-console__close:hover,.signal-console__close:focus-visible{background:var(--text);color:var(--background)}.signal-console__search-label{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.signal-console__search{appearance:textfield;border:0;border-bottom:1px solid var(--line);color:var(--text);font-family:var(--mono);background:0 0;outline:none;inline-size:100%;padding:clamp(18px,3vw,24px);font-size:clamp(17px,3vw,28px);line-height:1.2}.signal-console__search::placeholder{color:var(--placeholder)}.signal-console__search::-webkit-search-cancel-button{appearance:none;display:none}.signal-console__search::-webkit-search-decoration{appearance:none;display:none}.signal-console__search::-webkit-search-results-button{appearance:none;display:none}.signal-console__search::-webkit-search-results-decoration{appearance:none;display:none}.signal-console__results{max-block-size:min(46vh,400px);display:grid;overflow-y:auto}.signal-console__item{border:0;border-bottom:1px solid var(--line);color:var(--muted);cursor:pointer;text-align:left;background:0 0;grid-template-columns:72px minmax(0,.72fr) minmax(0,1fr);gap:4px;padding:12px clamp(18px,3vw,24px);text-decoration:none;transition:background-color .14s,color .14s,padding-left .14s;display:grid;position:relative}.signal-console__item[data-active=true]{background:var(--panel-strong);color:var(--text);padding-left:clamp(22px,3.4vw,28px)}.signal-console__item[data-active=true]:before{background:var(--text);content:"";width:2px;position:absolute;inset:0 auto 0 0}.signal-console__item span,.signal-console__item small{font-family:var(--mono);font-size:10px}.signal-console__item strong{color:var(--text);font-family:var(--display);font-size:14px;font-weight:600;line-height:1.2}.signal-console__item small{color:var(--muted);line-height:1.35}.signal-console__empty,.signal-console__hint{color:var(--muted);margin:0;padding:12px clamp(18px,3vw,24px);font-size:11px}.signal-console__hint{border-top:1px solid var(--line)}html[data-signal-console=open]{overflow:hidden}@media (width<=680px){.signal-launcher{bottom:14px;right:14px}.signal-console{padding:12px}.signal-console__item{grid-template-columns:1fr}.signal-console__panel{align-self:start;margin-top:42px}.signal-console__item{gap:2px}}@media (prefers-reduced-motion:reduce){.signal-launcher,.signal-console__close,.signal-console__item{transition:none}}@font-face{font-display:swap;font-family:Inter Variable;font-style:normal;font-weight:100 900;src:url(/_astro/inter-latin-wght-normal.Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-display:swap;font-family:Inter Variable;font-style:normal;font-weight:100 900;src:url(/_astro/inter-latin-ext-wght-normal.DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-display:swap;font-family:JetBrains Mono Variable;font-style:normal;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-wght-normal.B9CIFXIH.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-display:swap;font-family:JetBrains Mono Variable;font-style:normal;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-ext-wght-normal.DBQx-q_a.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-display:swap;font-family:Space Grotesk Variable;font-style:normal;font-weight:300 700;src:url(/_astro/space-grotesk-latin-wght-normal.BhU9QXUp.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-display:swap;font-family:Space Grotesk Variable;font-style:normal;font-weight:300 700;src:url(/_astro/space-grotesk-latin-ext-wght-normal.D9tNdqV9.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--background:#000;--text:#fff;--text-soft:#f5f5f5;--muted:#a3a3a3;--muted-soft:#c7c7c7;--line:#262626;--line-strong:#3a3a3a;--line-soft:#ffffff14;--line-medium:#ffffff1f;--line-bright:#ffffff4d;--panel:#ffffff09;--panel-strong:#ffffff0f;--panel-gradient:linear-gradient(180deg, #ffffff0e, transparent 220px);--surface-floating:#000c;--surface-header:#000000e0;--surface-menu:#000000f5;--surface-overlay:#000000c7;--surface-solid-soft:#ffffff0f;--surface-solid-medium:#ffffff14;--background-glow:#ffffff09;--background-noise:#ffffff12;--shadow-large:0 24px 90px #000000c2;--placeholder:#ffffff52;--text-readable:#ffffffd1;--text-quote:#ffffffad;--decoration:#ffffff59;--inverse-muted:#000000ad;--pulse-ring:#ffffff4d;--pulse-ring-fade:#fff0;--ascii-color:#f7f7f7;--ascii-glow:drop-shadow(0 0 5px var(--line-medium));--display:"Space Grotesk Variable", sans-serif;--body:"Inter Variable", sans-serif;--mono:"JetBrains Mono Variable", monospace;--max:1120px;--article-max:760px;--page-gutter:clamp(18px, 4.8vw, 64px);--page-top:clamp(32px, 5vh, 56px);--page-bottom:clamp(48px, 8vh, 80px);--space-kicker-title:clamp(12px, 1.7vw, 20px);--space-title-body:clamp(14px, 2vw, 22px)}html[data-theme=dark]{color-scheme:dark}html[data-theme=light]{--background:#f7f7f2;--text:#0b0b0b;--text-soft:#181818;--muted:#5f5f5f;--muted-soft:#3f3f3f;--line:#deded8;--line-strong:#bebeb6;--line-soft:#00000014;--line-medium:#0000001f;--line-bright:#0000003d;--panel:#00000009;--panel-strong:#0000000f;--panel-gradient:linear-gradient(180deg, #00000008, transparent 220px);--surface-floating:#fffffad1;--surface-header:#f7f7f2e6;--surface-menu:#fffffaf5;--surface-overlay:#f7f7f2c7;--surface-solid-soft:#0000000b;--surface-solid-medium:#0000000f;--background-glow:#00000009;--background-noise:#00000012;--shadow-large:0 24px 90px #14141429;--placeholder:#00000047;--text-readable:#000000c7;--text-quote:#0000009e;--decoration:#00000047;--inverse-muted:#ffffffb8;--pulse-ring:#0003;--pulse-ring-fade:#0000;--ascii-color:#171717;--ascii-glow:none;color-scheme:light}*{box-sizing:border-box}::selection{background:var(--text);color:var(--background)}html{scroll-behavior:smooth;text-size-adjust:100%}html,body{min-height:100%;margin:0;padding:0}body{background:var(--background);color:var(--text);font-family:var(--body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:15px;line-height:1.6}a{color:inherit}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:1px solid var(--text);outline-offset:4px}#site-content:focus{outline:none}.wrap{max-width:var(--max);padding-left:var(--page-gutter);padding-right:var(--page-gutter);margin:0 auto}.skip-link{background:var(--text);color:var(--background);font-family:var(--mono);z-index:100;padding:10px 12px;font-size:12px;text-decoration:none;transition:transform .18s;position:fixed;top:16px;left:16px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
