@font-face{font-family:Instrument Serif;font-style:normal;font-weight:400;font-display:swap;src:url(/_astro/instrument-serif-latin-400-normal.DnYpCC2O.woff2)format("woff2")}@font-face{font-family:Instrument Serif;font-style:italic;font-weight:400;font-display:swap;src:url(/_astro/instrument-serif-latin-400-italic.DKMiL14s.woff2)format("woff2")}@font-face{font-family:Geist;font-style:normal;font-weight:400;font-display:optional;src:url(/_astro/geist-latin-400-normal.B40WzpMT.woff2)format("woff2")}@font-face{font-family:Geist;font-style:normal;font-weight:500;font-display:optional;src:url(/_astro/geist-latin-500-normal.CTWBw9NS.woff2)format("woff2")}@font-face{font-family:Geist Mono;font-style:normal;font-weight:400;font-display:optional;src:url(/_astro/geist-mono-latin-400-normal.DTRLJnHl.woff2)format("woff2")}@font-face{font-family:Instrument Serif Fallback;src:local(Times New Roman),local(TimesNewRomanPSMT);size-adjust:82.43%;ascent-override:120.1%;descent-override:37.61%;line-gap-override:0%}@font-face{font-family:Instrument Serif Fallback;font-style:italic;src:local(Times New Roman Italic),local(TimesNewRomanPS-ItalicMT);size-adjust:89.27%;ascent-override:110.9%;descent-override:34.72%;line-gap-override:0%}@font-face{font-family:Geist Fallback;src:local(Arial),local(ArialMT);size-adjust:102.23%;ascent-override:98.31%;descent-override:28.85%;line-gap-override:0%}@font-face{font-family:Geist Mono Fallback;src:local(Courier New),local(CourierNewPSMT);size-adjust:99.98%;ascent-override:100.52%;descent-override:29.5%;line-gap-override:0%}:root{color-scheme:light dark;--paper:#f6f4ef;--ink:#16181d;--muted:#5b606b;--hairline:#e2ded5;--tide:#1f5f5b;--paper-raised:#fbfaf7;--hairline-strong:#d3cec3;--glass:color-mix(in srgb, var(--paper) 74%, transparent);--tide-wash:color-mix(in srgb, var(--tide) 10%, transparent);--shadow-s:0 1px 2px #16181d0d, 0 2px 6px #16181d0a;--shadow-l:0 1px 1px #16181d0a, 0 12px 24px -8px #16181d1a, 0 40px 80px -24px color-mix(in srgb, var(--tide) 24%, transparent);--grain-opacity:.05;--mask-fill:linear-gradient(#000 0 0);--mask-fade-down:linear-gradient(to bottom, #000 25%, transparent 92%);--mask-fade-x:linear-gradient(to right, transparent, #000 12%, #000 88%, transparent);--drift-hairline-alpha:1;--drift-tide-alpha:.34;--drift-glow-alpha:.1;--drift-glint-alpha:.75;--drift-mask:linear-gradient(to bottom, #000 38%, transparent 96%);--font-display:"Instrument Serif", "Instrument Serif Fallback", ui-serif, Georgia, serif;--font-text:"Geist", "Geist Fallback", ui-sans-serif, system-ui, sans-serif;--font-mono:"Geist Mono", "Geist Mono Fallback", ui-monospace, Menlo, monospace;--text-xs:.8125rem;--text-s:clamp(.9375rem, .91rem + .12vw, 1rem);--text-m:clamp(1.0625rem, 1.03rem + .16vw, 1.125rem);--text-l:clamp(1.1875rem, 1.08rem + .55vw, 1.5rem);--text-xl:clamp(1.625rem, 1.38rem + 1.2vw, 2.375rem);--text-2xl:clamp(2rem, 1.45rem + 2.7vw, 3.75rem);--text-3xl:clamp(2.75rem, 1rem + 6.667vw, 6rem);--text-hero:clamp(3rem, .6rem + 8.4vw, 9.5rem);--weight-regular:400;--weight-medium:500;--leading-display:1.02;--leading-hero:.94;--leading-snug:1.2;--leading-body:1.6;--tracking-display:-.012em;--tracking-hero:-.022em;--tracking-label:.04em;--measure:65ch;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:clamp(2.5rem, 2rem + 2vw, 3.5rem);--space-8:clamp(3rem, 2rem + 4vw, 5rem);--space-9:clamp(4rem, 2.5rem + 6vw, 8rem);--space-10:clamp(5rem, 3rem + 9vw, 11rem);--content-max:75rem;--gutter:clamp(1.5rem, .6rem + 3vw, 3rem);--grid-gap:clamp(1rem, .5rem + 1.6vw, 2rem);--header-height:4.5rem;--hero-min-height:max(34rem, calc(100svh - var(--header-height)));--radius-s:.375rem;--radius-m:.75rem;--radius-l:1.25rem;--radius-pill:999px;--radius-app-icon:22.5%;--rule:1px solid var(--hairline);--wordmark-height:clamp(1.75rem, 1.6rem + .5vw, 2rem);--app-icon-size:4rem;--target-min:2.75rem;--button-height:3rem;--focus-ring:2px solid var(--tide);--focus-offset:3px;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--ease-in:cubic-bezier(.55, 0, 1, .45);--ease-spring:linear(0, .009, .035 2.1%, .141 4.4%, .723 15.5%, .938 20.7%, 1.017 24.3%, 1.061 27.9%, 1.074 31.2%, 1.066 35.1%, 1.026 43.5%, 1.004 51.6%, .997 62.9%, 1);--duration:.24s;--duration-slow:.6s;--rise:8px;--rise-duration:.6s;--reveal-duration:1.1s;--word-stagger:70ms}@media (prefers-color-scheme:dark){:root{--paper:#0f1113;--ink:#eceae4;--muted:#9a9fa8;--hairline:#2a2e34;--tide:#7cc4bc;--paper-raised:#16191c;--hairline-strong:#363b42;--glass:color-mix(in srgb, var(--paper) 70%, transparent);--tide-wash:color-mix(in srgb, var(--tide) 12%, transparent);--shadow-s:0 1px 2px #0006, 0 2px 8px #0000004d;--shadow-l:inset 0 1px 0 #ffffff0a, 0 12px 24px -8px #00000080, 0 40px 90px -24px color-mix(in srgb, var(--tide) 20%, transparent);--grain-opacity:.04;--drift-hairline-alpha:.9;--drift-tide-alpha:.28;--drift-glow-alpha:.12;--drift-glint-alpha:.8}}@media print{:root{--paper:#fff;--paper-raised:#fff;--ink:#000;--muted:#333;--hairline:#bbb;--hairline-strong:#bbb;--tide:#000;--shadow-s:none;--shadow-l:none;--grain-opacity:0}}*,:before,:after{box-sizing:border-box}*{margin:0}html{background:var(--paper);color:var(--ink);font-family:var(--font-text);-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header-height) + var(--space-5));font-size:100%}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}@view-transition{navigation:auto}}::view-transition-old(root){animation:page-out .22s var(--ease-in) both}::view-transition-new(root){animation:page-in .7s var(--ease-out-expo) both}@keyframes page-out{to{opacity:0;filter:blur(6px);translate:0 -1rem}}@keyframes page-in{0%{opacity:0;filter:blur(6px);translate:0 1.5rem}}body{background:var(--paper);min-height:100svh;font-size:var(--text-m);line-height:var(--leading-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-wrap:break-word;isolation:isolate;flex-direction:column;display:flex}body:before{content:"";z-index:-1;pointer-events:none;opacity:var(--grain-opacity);background:url(/_astro/grain.CfOrUXkK.svg) 0 0/180px 180px;position:fixed;inset:0}main{flex:1}main:focus{outline:none}img,svg,canvas{max-width:100%;display:block}p{text-wrap:pretty}::selection{background:var(--tide);color:var(--paper)}a{color:var(--tide);text-underline-offset:.2em;text-decoration-line:underline;text-decoration-thickness:1px;text-decoration-color:color-mix(in srgb, currentColor 40%, transparent);transition:text-decoration-color var(--duration) var(--ease-out), color var(--duration) var(--ease-out)}a:hover{text-decoration-color:currentColor}:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset);border-radius:var(--radius-s)}.skip-link{top:var(--space-3);left:var(--space-3);z-index:20;min-height:var(--target-min);padding-inline:var(--space-4);background:var(--paper);color:var(--ink);border:var(--rule);border-radius:var(--radius-s);align-items:center;display:inline-flex;position:absolute;transform:translateY(-200%)}.skip-link:focus-visible{transform:none}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.container{width:100%;max-width:calc(var(--content-max) + 2 * var(--gutter));padding-inline:var(--gutter);margin-inline:auto}.grid{column-gap:var(--grid-gap);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.grid>*{grid-column:1/-1}.section{border-top:var(--rule);padding-block:var(--space-9)}.section-wave{padding-block:var(--space-10);border-top:0;position:relative}.section-head{align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-7);display:flex}.section-index{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-label);color:var(--tide)}@media (width>=64rem){.section-head{top:calc(var(--header-height) + var(--space-6));padding-top:var(--space-3);grid-column:1/span 3;align-self:start;margin-bottom:0;position:sticky}.section-body{grid-column:4/-1}}.label{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-regular);line-height:var(--leading-snug);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--muted)}.display{font-family:var(--font-display);font-weight:var(--weight-regular);line-height:var(--leading-snug);letter-spacing:var(--tracking-display);text-wrap:balance}.display em{letter-spacing:0;font-style:italic}.muted{color:var(--muted)}.text-link{align-items:center;gap:var(--space-2);min-height:var(--target-min);display:inline-flex}.link-draw{transition:background-size var(--duration-slow) var(--ease-out-expo);background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat}:hover>.link-draw,[aria-current]>.link-draw{background-size:100% 1px}.button{isolation:isolate;justify-content:center;align-items:center;gap:var(--space-3);min-width:var(--target-min);min-height:var(--button-height);padding-inline:var(--space-5) var(--space-2);border-radius:var(--radius-pill);background:var(--ink);color:var(--paper);font:inherit;font-family:var(--font-text);font-size:var(--text-s);white-space:nowrap;cursor:pointer;translate:var(--magnet-x,0) var(--magnet-y,0);transition:translate var(--duration-slow) var(--ease-spring), color var(--duration) var(--ease-out), box-shadow var(--duration) var(--ease-out);border:0;line-height:1;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.button:before{content:"";z-index:-1;border-radius:inherit;background:var(--tide);clip-path:circle(0% at 50% 130%);transition:clip-path var(--duration-slow) var(--ease-out-expo);position:absolute;inset:0}.button:hover:before{clip-path:circle(150% at 50% 130%)}.button:focus-visible{border-radius:var(--radius-pill)}.button-ghost{padding-inline:var(--space-5);color:var(--ink);box-shadow:inset 0 0 0 1px var(--hairline-strong);background:0 0}.button-ghost:before{background:var(--ink)}.button-ghost:hover{color:var(--paper)}.button-icon{background:var(--paper);width:2.25rem;height:2.25rem;color:var(--ink);border-radius:50%;place-items:center;display:grid;overflow:hidden}.button-icon svg,.button-ghost svg{width:1rem;height:1rem}.pill-list{gap:var(--space-2);flex-wrap:wrap;padding:0;list-style:none;display:flex}.pill{min-height:1.75rem;padding-inline:var(--space-3);border:1px solid var(--hairline-strong);border-radius:var(--radius-pill);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--muted);align-items:center;display:inline-flex}.drift-rule{background:var(--hairline-strong);pointer-events:none;height:16px;position:absolute;inset:-8px 0 auto;mask:url(/_astro/wave-rule.C2O-spE_.svg) 0 0/320px 16px repeat-x}@keyframes rise{0%{opacity:0;transform:translateY(var(--rise))}}@keyframes word-in{0%{opacity:0;filter:blur(14px);translate:0 .45em;rotate:2deg}}@keyframes reveal{0%{opacity:0;filter:blur(8px);translate:0 2.5rem}}@keyframes draw-in{0%{clip-path:inset(0 100% 0 0)}}@keyframes rule-drift{to{mask-position:320px 0}}@keyframes arrow-down{45%{translate:0 160%}46%{translate:0 -160%}}@keyframes arrow-right{45%{translate:160%}46%{translate:-160%}}.word{transform-origin:0 100%;display:inline-block}.word .hyphen{margin-inline:-.05em}@media (prefers-reduced-motion:no-preference){.rise{animation:rise var(--rise-duration) var(--ease-out) both;animation-delay:var(--rise-delay,0s)}.word{animation:word-in var(--reveal-duration) var(--ease-out-expo) both;animation-delay:calc(var(--words-delay,0s) + var(--i,0) * var(--word-stagger))}.word:nth-child(2){--i:1}.word:nth-child(3){--i:2}.word:nth-child(4){--i:3}.word:nth-child(5){--i:4}.word:nth-child(6){--i:5}.word:nth-child(7){--i:6}.word:nth-child(8){--i:7}.word:nth-child(9){--i:8}.word:nth-child(10){--i:9}.word:nth-child(11){--i:10}.word:nth-child(12){--i:11}.button:hover .button-icon svg{animation:arrow-right .7s var(--ease-out-expo)}.button:hover .button-icon[data-direction=down] svg{animation-name:arrow-down}.drift-rule{animation:30s linear infinite rule-drift}@supports (animation-timeline:view()){.reveal{animation-name:reveal;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:view();animation-range:entry cover 28%}.drift-rule{animation-name:rule-drift,draw-in;animation-duration:30s, auto;animation-timing-function:linear;animation-iteration-count:infinite,1;animation-fill-mode:none,both;animation-timeline:auto,view();animation-range:normal,entry cover 40%}}}@media print{html,body{background:var(--paper);color:var(--ink);font-size:11pt}body:before,.skip-link,.drift-rule,.no-print{display:none!important}a{color:var(--ink)}.section{padding-block:var(--space-6)}}.wordmark[data-astro-cid-qisgtjgl]{min-height:var(--target-min);color:var(--ink);align-items:center;text-decoration:none;display:inline-flex}.wordmark[data-astro-cid-qisgtjgl] svg{width:auto;height:var(--wordmark-height);overflow:visible}.wordmark[data-astro-cid-qisgtjgl] .dot{fill:var(--tide);transition:transform var(--duration-slow) var(--ease-spring)}a[data-astro-cid-qisgtjgl].wordmark:hover .dot{transform:translate(-40px,-30px)}@keyframes dot-drift{0%{transform:translate(80px,70px)}}@media (prefers-reduced-motion:no-preference){body:has(.hero) a[data-astro-cid-qisgtjgl].wordmark .dot{animation:dot-drift 1.6s var(--ease-spring) .9s backwards}}.site-footer[data-astro-cid-jo6i4kqk]{padding-block:var(--space-4) var(--space-6);position:relative}.footer-mark[data-astro-cid-jo6i4kqk]{margin-top:var(--space-7);view-timeline:--footer-mark block}.footer-mark[data-astro-cid-jo6i4kqk] .wordmark{color:var(--hairline-strong);display:block}.footer-mark[data-astro-cid-jo6i4kqk] .wordmark svg{width:100%;height:auto}@keyframes footer-dot{0%{transform:translate(80px,70px)}}@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()){.footer-mark[data-astro-cid-jo6i4kqk] .dot{animation-name:footer-dot;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:--footer-mark;animation-range:entry 30%}}}.small-print[data-astro-cid-jo6i4kqk]{column-gap:var(--space-3);font-family:var(--font-mono);font-size:var(--text-xs);line-height:var(--leading-snug);color:var(--muted);flex-wrap:wrap;display:flex}.run[data-astro-cid-jo6i4kqk]{column-gap:var(--space-3);flex-wrap:wrap;padding:0;list-style:none;display:flex}.run[data-astro-cid-jo6i4kqk] li[data-astro-cid-jo6i4kqk]{min-height:var(--target-min);align-items:center;display:inline-flex}.run[data-astro-cid-jo6i4kqk] li[data-astro-cid-jo6i4kqk]+li[data-astro-cid-jo6i4kqk]:before{content:"·" / "";margin-right:var(--space-3)}@media (width>=40rem){.run[data-astro-cid-jo6i4kqk]+.run[data-astro-cid-jo6i4kqk]:before{content:"·" / "";align-items:center;display:inline-flex}}.small-print[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{min-height:var(--target-min);color:var(--muted);align-items:center;display:inline-flex}.small-print[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:var(--tide)}.site-header[data-astro-cid-nen7h5rs]{z-index:10;view-transition-name:site-header;background:var(--glass);box-shadow:inset 0 -1px var(--hairline);backdrop-filter:blur(18px)saturate(1.6);position:sticky;top:0}@supports (animation-timeline:scroll()){.site-header[data-astro-cid-nen7h5rs]{animation-name:glass-in;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:scroll(root);animation-range:0 5rem}}@keyframes glass-in{0%{backdrop-filter:blur()saturate();background-color:#0000;box-shadow:inset 0 -1px #0000}}.site-header-inner[data-astro-cid-nen7h5rs]{justify-content:space-between;align-items:center;gap:var(--space-4);height:var(--header-height);display:flex}.site-nav[data-astro-cid-nen7h5rs] ul[data-astro-cid-nen7h5rs]{margin-right:calc(-1 * var(--space-3));padding:0;list-style:none;display:flex}.site-nav-link[data-astro-cid-nen7h5rs]{min-width:var(--target-min);min-height:var(--target-min);padding-inline:var(--space-3);color:var(--muted);font-size:var(--text-s);align-items:center;text-decoration:none;display:inline-flex;position:relative}.site-nav-link[data-astro-cid-nen7h5rs]:before{content:"";background:var(--tide);width:5px;height:5px;transition:scale var(--duration-slow) var(--ease-spring);border-radius:50%;margin-top:-2.5px;position:absolute;top:50%;left:1px;scale:0}.site-nav-link[data-astro-cid-nen7h5rs]:hover,.site-nav-link[data-astro-cid-nen7h5rs][aria-current]{color:var(--ink)}.site-nav-link[data-astro-cid-nen7h5rs][aria-current]:before{scale:1}@media print{.site-header[data-astro-cid-nen7h5rs]{box-shadow:none;backdrop-filter:none;background:0 0;animation:none;position:static}.site-nav[data-astro-cid-nen7h5rs]{display:none}}
