@font-face{font-family:geist;src:url(../media/geist_latin_wght_normal-s.p.20f3xrkj613ah.woff2)format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:geist Fallback;src:local(Arial);ascent-override:94.56%;descent-override:27.76%;line-gap-override:0.0%;size-adjust:106.28%}.Sd6VFW_className{font-family:geist,geist Fallback}.Sd6VFW_variable{--font-geist:"geist", "geist Fallback"}
@font-face{font-family:serifItalic;src:url(../media/instrument_serif_latin_400_italic-s.p.1bk2-9tco4m7m.woff2)format("woff2");font-display:swap;font-weight:400;font-style:italic}@font-face{font-family:serifItalic Fallback;src:local(Arial);ascent-override:121.98%;descent-override:38.19%;line-gap-override:0.0%;size-adjust:81.16%}._5YJQuG_className{font-family:serifItalic,serifItalic Fallback;font-style:italic;font-weight:400}._5YJQuG_variable{--font-serif-italic:"serifItalic", "serifItalic Fallback"}
@font-face{font-family:geistMono;src:url(../media/geist_mono_latin_wght_normal-s.1t7tphccnfzmb.woff2)format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:geistMono Fallback;src:local(Arial);ascent-override:76.43%;descent-override:22.43%;line-gap-override:0.0%;size-adjust:131.49%}.RcwGZq_className{font-family:geistMono,geistMono Fallback}.RcwGZq_variable{--font-geist-mono:"geistMono", "geistMono Fallback"}
.site{--s-bg:#fafafa;--s-panel:#fff;--s-ink:#09090b;--s-ink-2:#3f3f46;--s-muted:#71717a;--s-quiet:#a1a1aa;--s-line:#e4e4e7;--s-line-soft:#ececee;--s-hover:#f4f4f5;--s-lime:#d4f74b;--s-cobalt:#2c41b3;--s-cobalt-d:#20349f;--s-rust:#cf4a1c;--s-rust-d:#b13d14;--s-plum:#8f1767;--s-plum-d:#741052;--s-pine:#1f5a3a;--s-pine-d:#17462d;--s-amber:#e9a21b;--s-amber-d:#cc8a0f;--s-sky:#4f9fd8;--s-frame:1240px;--s-pad:80px;--s-head:60px;--s-ease:cubic-bezier(0, 0, .2, 1);--s-ease-out:cubic-bezier(.23, 1, .32, 1);--s-spring:cubic-bezier(.34, 1.56, .64, 1);--s-card-shadow:0 2px 4px #00000005, 0 6px 6px #00000005, 0 14px 9px #00000003;--s-lift-shadow:0 3px 7px #0000001a, 0 13px 13px #00000017, 0 28px 17px #0000000d;--s-bevel:0 1px 2px #09090b0a, 0 1px 3px #09090b0f;font-family:var(--font-geist), ui-sans-serif, system-ui, sans-serif;font-feature-settings:"ss01" 0;background:var(--s-bg);color:var(--s-ink);letter-spacing:-.02em;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;overflow-x:clip}@media (max-width:1024.98px){.site{--s-pad:40px}}@media (max-width:575.98px){.site{--s-pad:20px;--s-head:56px}}.site ::selection{background:var(--s-lime);color:var(--s-ink)}.site :focus-visible{outline:2px solid var(--s-ink);outline-offset:3px;border-radius:6px}.s-serif{font-family:var(--font-serif-italic), Georgia, serif;letter-spacing:-.01em;font-style:italic;font-weight:400}.site .mono{font-family:var(--font-geist-mono), ui-monospace, monospace;letter-spacing:0}.s-h1{letter-spacing:-.04em;text-wrap:balance;font-size:64px;font-weight:500;line-height:1.1}.s-h2{letter-spacing:-.02em;text-wrap:balance;font-size:48px;font-weight:500;line-height:1.1}.s-h3{letter-spacing:-.02em;font-size:24px;font-weight:500;line-height:1.3}.s-h4{letter-spacing:-.02em;font-size:20px;font-weight:500;line-height:1.3}.s-lead{letter-spacing:-.02em;color:var(--s-muted);text-wrap:pretty;font-size:20px;font-weight:500;line-height:1.4}.s-body{letter-spacing:-.02em;color:var(--s-muted);text-wrap:pretty;font-size:16px;line-height:1.5}.s-small{letter-spacing:-.02em;font-size:14px;line-height:1.4}.s-eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--s-muted);font-size:12px;font-weight:500;line-height:1.3}.s-num{font-variant-numeric:tabular-nums}.s-h1 .s-dim,.s-h2 .s-dim,.s-h3 .s-dim,.s-h4 .s-dim,.s-lead .s-dim{color:var(--s-muted)}.s-lead b,.s-body b{color:var(--s-ink);font-weight:500}@media (max-width:1024.98px){.s-h1{font-size:52px}.s-h2{font-size:38px}}@media (max-width:575.98px){.s-h1{letter-spacing:-.035em;font-size:40px;line-height:1.08}.s-h2{font-size:32px;line-height:1.12}.s-h3{font-size:21px}.s-lead{font-size:18px}}.s-frame{width:100%;max-width:var(--s-frame);margin-inline:auto}.s-rails{position:relative}.s-rails:before,.s-rails:after{content:"";background:var(--s-line);pointer-events:none;z-index:1;width:1px;position:absolute;top:0;bottom:0}.s-rails:before{left:max(0px, calc(50% - var(--s-frame) / 2))}.s-rails:after{right:max(0px, calc(50% - var(--s-frame) / 2))}@media (max-width:1279px){.s-rails:before,.s-rails:after{display:none}}.s-panel{border:1px solid var(--s-line);background:var(--s-bg);position:relative}.s-panel-white{background:var(--s-panel)}.s-pad{padding-inline:var(--s-pad)}.s-pad-y{padding-block:120px}@media (max-width:1024.98px){.s-pad-y{padding-block:88px}}@media (max-width:575.98px){.s-pad-y{padding-block:64px}}.s-joint{height:40px;position:relative}.s-joint:before{content:"";background:var(--s-line);height:1px;position:absolute;top:50%;left:0;right:0}.s-joint:after{content:"";background:var(--s-line);width:1px;position:absolute;top:0;bottom:0;left:50%}.s-joint>i{background:var(--s-bg);border:1px solid var(--s-line);z-index:1;width:20px;height:20px;position:absolute;top:50%;left:50%;translate:-50% -50%;rotate:45deg}@media (max-width:1279px){.s-panel{border-inline:0}}.s-btn{letter-spacing:-.02em;white-space:nowrap;height:48px;transition:background-color .15s var(--s-ease), color .15s var(--s-ease), border-color .15s var(--s-ease), box-shadow .15s var(--s-ease);-webkit-user-select:none;user-select:none;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding-inline:20px;font-size:16px;font-weight:500;display:inline-flex}.s-btn-sm{border-radius:7px;height:36px;padding-inline:14px;font-size:14px}.s-btn-dark{background:var(--s-ink);color:#fff;box-shadow:var(--s-bevel), inset 0 1px 0 #ffffff1f}.s-btn-dark:hover{background:var(--s-ink-2)}.s-btn-light{color:var(--s-ink);border-color:var(--s-line);box-shadow:var(--s-bevel);background:#fff}.s-btn-light:hover{background:var(--s-hover)}.s-btn-ghost{color:var(--s-ink)}.s-btn-ghost:hover{color:var(--s-ink-2)}.s-btn-lime{background:var(--s-lime);color:var(--s-ink);box-shadow:var(--s-bevel), inset 0 -1px 0 #00000014}.s-btn-lime:hover{background:#c6ec33}.s-link{color:var(--s-ink);transition:color .1s var(--s-ease);align-items:center;gap:4px;font-weight:500;display:inline-flex}.s-link:hover{color:var(--s-ink-2)}.s-link svg{transition:translate .2s var(--s-ease-out)}.s-link:hover svg{translate:3px}@media (max-width:575.98px){.s-btn-block-sm{width:100%}}.s-plate{isolation:isolate;color:#fff;background-color:var(--plate,var(--s-cobalt));transition:background-color .3s var(--s-ease-out);position:relative;overflow:hidden}.s-plate:before{content:"";z-index:-1;opacity:var(--lattice-o,.22);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='152' height='152' viewBox='0 0 152 152'%3E%3Cg fill='none' stroke='white' stroke-width='1'%3E%3Cpath d='M76 0 152 76 76 152 0 76Z'/%3E%3Cpath d='M76 38 114 76 76 114 38 76Z' opacity='.55'/%3E%3C/g%3E%3C/svg%3E");background-size:152px 152px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(120% 90% at 85% 0,#000 0%,#00000059 60%,#0000 100%);mask-image:radial-gradient(120% 90% at 85% 0,#000 0%,#00000059 60%,#0000 100%)}.s-plate:after{content:"";z-index:-1;opacity:.28;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}.s-plate[data-grid]:before{--lattice-o:.16;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='96' viewBox='0 0 96 96'%3E%3Cg fill='none' stroke='white' stroke-width='1'%3E%3Cpath d='M0 0H96V96'/%3E%3Cpath d='M0 0 96 96M96 0 0 96' opacity='.5'/%3E%3C/g%3E%3C/svg%3E");background-size:96px 96px;-webkit-mask-image:none;mask-image:none}.plate-cobalt{--plate:var(--s-cobalt);--plate-d:var(--s-cobalt-d)}.plate-rust{--plate:var(--s-rust);--plate-d:var(--s-rust-d)}.plate-plum{--plate:var(--s-plum);--plate-d:var(--s-plum-d)}.plate-pine{--plate:var(--s-pine);--plate-d:var(--s-pine-d)}.plate-amber{--plate:var(--s-amber);--plate-d:var(--s-amber-d);color:var(--s-ink)}.plate-ink{--plate:#0b0b0d;--plate-d:#000;--lattice-o:.12}.plate-lime{--plate:var(--s-lime);--plate-d:#c6ec33;color:var(--s-ink)}.plate-lime:before{filter:invert();--lattice-o:.14}.s-plate-hover:hover{background-color:var(--plate-d)}.s-blueprint{background-image:linear-gradient(var(--s-line-soft) 1px, transparent 1px), linear-gradient(90deg, var(--s-line-soft) 1px, transparent 1px);background-position:-1px -1px;background-size:56px 56px}.s-crosses{position:relative}.s-cross{width:11px;height:11px;color:var(--s-quiet);pointer-events:none;position:absolute;translate:-50% -50%}.s-cross:before,.s-cross:after{content:"";background:currentColor;position:absolute}.s-cross:before{width:1px;height:11px;top:0;left:5px}.s-cross:after{width:11px;height:1px;top:5px;left:0}.s-card{color:var(--s-ink);border:1px solid var(--s-line);box-shadow:var(--s-card-shadow);background:#fff;border-radius:14px}.s-window{color:var(--s-ink);background:#fff;border-radius:14px;box-shadow:0 0 0 1px #09090b0f,0 1px 2px #09090b0a,0 24px 48px -16px #09090b47}.s-ui{font-family:var(--font-inter), ui-sans-serif, system-ui, sans-serif;letter-spacing:-.01em}.s-pill{border:1px solid var(--s-line);background:#fff;border-radius:999px;align-items:center;gap:6px;height:36px;padding-inline:14px;font-size:14px;font-weight:500;display:inline-flex}.s-chip{border-radius:6px;align-items:center;gap:4px;height:22px;padding-inline:8px;font-size:12px;font-weight:500;display:inline-flex}.s-fade-r{-webkit-mask-image:linear-gradient(90deg,#000 70%,#0000);mask-image:linear-gradient(90deg,#000 70%,#0000)}.s-fade-b{-webkit-mask-image:linear-gradient(#000 72%,#0000);mask-image:linear-gradient(#000 72%,#0000)}.s-fade-rb{-webkit-mask-composite:source-in;-webkit-mask-image:linear-gradient(90deg,#000 78%,#0000),linear-gradient(#000 70%,#0000);mask-image:linear-gradient(90deg,#000 78%,#0000),linear-gradient(#000 70%,#0000);-webkit-mask-composite:source-in;mask-composite:intersect}.s-fade-x{-webkit-mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000);mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000)}@keyframes s-pop{0%{opacity:0;transform:translateY(20px)scale(.85)}to{opacity:1;transform:none}}@keyframes s-fade{0%{opacity:0}to{opacity:1}}@keyframes s-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes s-shimmer{0%{background-position:100%}55%,to{background-position:0%}}@keyframes s-spin{to{rotate:360deg}}@keyframes s-marquee{to{transform:translate(-50%)}}@keyframes s-draw{0%{stroke-dashoffset:var(--len,600)}to{stroke-dashoffset:0}}@keyframes s-grow{0%{transform:scaleY(0)}to{transform:none}}@keyframes s-growx{0%{transform:scaleX(0)}to{transform:none}}@keyframes s-blink{50%{opacity:0}}@keyframes s-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, currentColor 40%, transparent)}80%,to{box-shadow:0 0 0 8px #0000}}@keyframes s-float{50%{transform:translateY(-6px)}}@keyframes s-flow{to{stroke-dashoffset:-18px}}.s-pop{animation:s-pop .54s var(--s-spring) both}.s-fadein{animation:.2s ease-out both s-fade}.s-rise{animation:s-rise .6s var(--s-ease-out) both}.s-shimmer{background:linear-gradient(90deg, var(--s-muted) 0%, var(--s-muted) 42%, #d4d4d8 50%, var(--s-muted) 58%, var(--s-muted) 100%);color:#0000;background-size:220% 100%;-webkit-background-clip:text;background-clip:text;animation:4s linear infinite s-shimmer}.s-caret:after{content:"";vertical-align:-.15em;background:currentColor;width:1px;height:1.05em;margin-left:1px;animation:1s step-end infinite s-blink;display:inline-block}.s-float{animation:6s ease-in-out infinite s-float}.s-reveal{opacity:0;transition:opacity .7s var(--s-ease-out), transform .8s var(--s-ease-out);transition-delay:calc(var(--d,0) * 70ms);transform:translateY(18px)}.s-reveal[data-in]{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.site *,.site :before,.site :after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}.s-reveal{opacity:1;transform:none}}.s-header{z-index:50;height:var(--s-head);background:var(--s-bg);border-bottom:1px solid var(--s-line);position:sticky;top:0}.s-navbtn{letter-spacing:-.02em;height:36px;color:var(--s-ink);transition:color .1s var(--s-ease), background-color .1s var(--s-ease);border-radius:8px;align-items:center;gap:4px;padding-inline:12px;font-size:14px;display:inline-flex}.s-navbtn:hover,.s-navbtn[data-open]{background:var(--s-hover);color:var(--s-ink-2)}.s-navbtn svg{transition:rotate .2s var(--s-ease-out)}.s-navbtn[data-open] svg{rotate:180deg}.s-mega{animation:s-menu .16s var(--s-ease-out) both;transform-origin:top;background:var(--s-bg);border-radius:15px}@keyframes s-menu{0%{opacity:0;transform:translateY(-4px)scale(.99)}to{opacity:1;transform:none}}.s-mega-item{transition:background-color .12s var(--s-ease);border-radius:10px;align-items:flex-start;gap:14px;margin:-10px;padding:10px;display:flex}.s-mega-item:hover{background:var(--s-hover)}.s-mega-icon{border:1px solid var(--s-line);width:44px;height:44px;transition:transform .2s var(--s-ease-out), border-color .12s;background:#fff;border-radius:4px;flex:none;place-items:center;display:grid}.s-mega-item:hover .s-mega-icon{border-color:#d4d4d8;transform:translateY(-1px)}.s-wordmark{font-family:var(--font-instrument-serif), Georgia, serif;letter-spacing:-.02em;color:#fff;-webkit-user-select:none;user-select:none;font-size:clamp(88px,21vw,318px);font-weight:400;line-height:.82}.s-sticker{text-align:center;transition:transform .4s var(--s-spring);border-radius:999px;place-items:center;display:grid;position:absolute;box-shadow:0 0 0 4px #fff,0 10px 24px #00000047}.s-sticker:hover{transform:rotate(-8deg)scale(1.06)}.s-hairline{background:var(--s-line);height:1px}.s-scroll-x{scrollbar-width:none;overscroll-behavior-x:contain;overflow-x:auto}.s-scroll-x::-webkit-scrollbar{display:none}.s-prose h2{letter-spacing:-.02em;color:var(--s-ink);margin-top:56px;margin-bottom:16px;scroll-margin-top:96px;font-size:28px;font-weight:500;line-height:1.2}.s-prose h3{letter-spacing:-.02em;color:var(--s-ink);margin-top:32px;margin-bottom:10px;scroll-margin-top:96px;font-size:20px;font-weight:500;line-height:1.3}.s-prose p,.s-prose li{color:var(--s-ink-2);letter-spacing:-.01em;font-size:16px;line-height:1.65}.s-prose p+p{margin-top:14px}.s-prose ul{margin-top:12px;padding-left:20px;list-style:outside}.s-prose ol{margin-top:12px;padding-left:20px;list-style:decimal}.s-prose li+li{margin-top:6px}.s-prose li::marker{color:var(--s-quiet)}.s-prose a{color:var(--s-ink);text-decoration:underline;-webkit-text-decoration-color:var(--s-quiet);text-decoration-color:var(--s-quiet);text-underline-offset:3px;transition:text-decoration-color .12s}.s-prose a:hover{-webkit-text-decoration-color:var(--s-ink);text-decoration-color:var(--s-ink)}.s-prose strong{color:var(--s-ink);font-weight:500}.s-prose table{border-collapse:collapse;width:100%;margin-top:16px;font-size:15px}.s-prose th{text-align:left;color:var(--s-ink);border-bottom:1px solid var(--s-line);padding:10px 12px;font-weight:500}.s-prose td{border-bottom:1px solid var(--s-line-soft);color:var(--s-ink-2);vertical-align:top;padding:10px 12px}.s-prose code{font-family:var(--font-geist-mono), ui-monospace, monospace;background:var(--s-hover);letter-spacing:0;border-radius:5px;padding:1px 5px;font-size:.9em}.s-prose :is(ul,ol,table,div)+p{margin-top:14px}@media (max-width:575.98px){.s-prose h2{margin-top:44px;font-size:24px}.s-prose h3{font-size:18px}}@keyframes s-sheen{0%{transform:translate(-100%)}to{transform:translate(100%)}}.site .s-shimmer-bg{background:linear-gradient(90deg,#0000,#ffffffb3,#0000);animation:1.6s ease-in-out infinite s-sheen}@media (prefers-reduced-motion:reduce){.site .s-shimmer-bg{animation:none}}.site .app-in-site{font-family:var(--font-sans);font-size:var(--text-body);line-height:var(--text-body--line-height);letter-spacing:var(--text-body--letter-spacing);color:var(--color-ink);text-align:left}.site .s-pillar-grid{opacity:.7;transition:opacity .5s cubic-bezier(.4,0,.2,1)}.site .s-pillar-cube{transition:opacity .5s cubic-bezier(.4,0,.2,1),transform .5s cubic-bezier(.4,0,.2,1)}.site .s-pillar-plate{opacity:0;transition:opacity .5s cubic-bezier(.4,0,.2,1)}.site .s-pillar-q{opacity:0;transition:opacity .5s var(--s-spring) .1s, transform .5s var(--s-spring) .1s;transform:translateY(12px)scale(.95)}.site .s-pillar-a{opacity:0;transform-origin:0 100%;transition:opacity .54s var(--s-spring) .32s, transform .54s var(--s-spring) .32s;transform:translateY(20px)scale(.85)}.site .s-pillar:is(:hover,:focus-visible,[data-on]) .s-pillar-grid{opacity:0}.site .s-pillar:is(:hover,:focus-visible,[data-on]) .s-pillar-cube{opacity:0;transform:translateY(-12px)scale(.95)}.site .s-pillar:is(:hover,:focus-visible,[data-on]) .s-pillar-plate{opacity:1}.site .s-pillar:is(:hover,:focus-visible,[data-on]) :is(.s-pillar-q,.s-pillar-a){opacity:1;transform:none}.site .s-pillar:focus-visible .s-pillar-box{outline:2px solid var(--s-ink);outline-offset:3px}@media (prefers-reduced-motion:reduce){.site :is(.s-pillar-grid,.s-pillar-cube,.s-pillar-plate,.s-pillar-q,.s-pillar-a){transition-duration:1ms;transition-delay:0s}}[data-site-dim]{filter:opacity(.42)}[data-site-dim] [data-site-dim],[data-site-dim][aria-current=page]{filter:none}@media (max-width:1024.98px){.app-in-site .touch-none{touch-action:pan-y!important}}@media (min-width:768px){body:has(.site) .hk-sheet-right{top:68px}}body:has(.site) .hk-overlay{background:#09090b2e}@media (max-width:1024.98px){body:has(.site) .hk-menu{max-height:min(var(--radix-popper-available-height,80svh), 80svh);overflow-y:auto}}.s-offnote{z-index:1000;color:#fafafa;font:500 13px/1.3 var(--font-geist,ui-sans-serif, system-ui, sans-serif);letter-spacing:-.005em;white-space:nowrap;opacity:0;pointer-events:none;background:#09090b;border-radius:10px;align-items:center;gap:12px;padding:9px 14px;transition:opacity .14s ease-out,transform .18s cubic-bezier(.2,.9,.3,1.2);display:flex;position:fixed;transform:translateY(4px);box-shadow:0 12px 32px -12px #09090b80}.s-offnote[data-shown]{opacity:1;pointer-events:auto;transform:none}.s-offnote a{color:#d4f74b;text-decoration:none}.s-offnote a:hover{text-underline-offset:3px;text-decoration:underline}@media (prefers-reduced-motion:reduce){.s-offnote{transition:none}}
