@font-face{font-family:funnel;src:url(../media/funnel_display-s.p.0xa2imhn0fp5k.woff2)format("woff2");font-display:swap;font-weight:400 800}@font-face{font-family:funnel Fallback;src:local(Arial);ascent-override:94.19%;descent-override:23.55%;line-gap-override:0.0%;size-adjust:106.17%}.funnel_ee9fdcb6-module__1QNrja__className{font-family:funnel,funnel Fallback}.funnel_ee9fdcb6-module__1QNrja__variable{--font-display:"funnel", "funnel Fallback"}
@font-face{font-family:source;src:url(../media/source_sans_3-s.p.3y33ar50ixvlj.woff2)format("woff2");font-display:swap;font-weight:200 900;font-style:normal}@font-face{font-family:source;src:url(../media/source_sans_3_italic-s.p.1mppgir28ayr9.woff2)format("woff2");font-display:swap;font-weight:200 900;font-style:italic}@font-face{font-family:source Fallback;src:local(Arial);ascent-override:114.52%;descent-override:44.74%;line-gap-override:0.0%;size-adjust:89.41%}.source_47c7e560-module__-va6zG__className{font-family:source,source Fallback}.source_47c7e560-module__-va6zG__variable{--font-source:"source", "source Fallback"}
@font-face{font-family:fira;src:url(../media/fira_code-s.p.060qjcmg_41f4.woff2)format("woff2");font-display:swap;font-weight:300 700}@font-face{font-family:fira Fallback;src:local(Arial);ascent-override:75.29%;descent-override:24.49%;line-gap-override:0.0%;size-adjust:131.49%}.fira_6cb912b7-module__COWYXq__className{font-family:fira,fira Fallback}.fira_6cb912b7-module__COWYXq__variable{--font-fira:"fira", "fira Fallback"}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-ease:initial}}}@layer theme{:root,:host{--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-source);--default-mono-font-family:var(--font-fira)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);margin-top:1.2em;margin-bottom:1.2em;font-size:1.25em;line-height:1.6}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);font-weight:500;text-decoration:underline}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:decimal}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:disc}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.25em;font-weight:600}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em;font-style:italic;font-weight:500}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:0;margin-bottom:.888889em;font-size:2.25em;font-weight:800;line-height:1.11111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:2em;margin-bottom:1em;font-size:1.5em;font-weight:700;line-height:1.33333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.6em;margin-bottom:.6em;font-size:1.25em;font-weight:600;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em;display:block}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows), 0 3px 0 var(--tw-prose-kbd-shadows);padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;border-radius:.3125rem;padding-inline-start:.375em;font-family:inherit;font-size:.875em;font-weight:500}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);padding-top:.857143em;padding-inline-end:1.14286em;padding-bottom:.857143em;border-radius:.375rem;margin-top:1.71429em;margin-bottom:1.71429em;padding-inline-start:1.14286em;font-size:.875em;font-weight:400;line-height:1.71429;overflow-x:auto}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;background-color:#0000;border-width:0;border-radius:0;padding:0}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){table-layout:auto;width:100%;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.71429}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);vertical-align:bottom;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em;font-weight:600}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);margin-top:.857143em;font-size:.875em;line-height:1.42857}.prose{--tw-prose-body:#364153;--tw-prose-headings:#101828;--tw-prose-lead:#4a5565;--tw-prose-links:#101828;--tw-prose-bold:#101828;--tw-prose-counters:#6a7282;--tw-prose-bullets:#d1d5dc;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#101828;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6a7282;--tw-prose-kbd:#101828;--tw-prose-kbd-shadows:#1018281a;--tw-prose-code:#101828;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1e2939;--tw-prose-th-borders:#d1d5dc;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5dc;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#99a1af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#99a1af;--tw-prose-invert-bullets:#4a5565;--tw-prose-invert-hr:#364153;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#364153;--tw-prose-invert-captions:#99a1af;--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:#ffffff1a;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5dc;--tw-prose-invert-pre-bg:#00000080;--tw-prose-invert-th-borders:#4a5565;--tw-prose-invert-td-borders:#364153;font-size:1rem;line-height:1.75}@supports (color:lab(0% 0 0)){.prose{--tw-prose-body:lab(27.1134% -.956401 -12.3224);--tw-prose-headings:lab(8.11897% .811279 -12.254);--tw-prose-lead:lab(35.6337% -1.58697 -10.8425);--tw-prose-links:lab(8.11897% .811279 -12.254);--tw-prose-bold:lab(8.11897% .811279 -12.254);--tw-prose-counters:lab(47.7841% -.393182 -10.0268);--tw-prose-bullets:lab(85.1236% -.612259 -3.7138);--tw-prose-hr:lab(91.6229% -.159115 -2.26791);--tw-prose-quotes:lab(8.11897% .811279 -12.254);--tw-prose-quote-borders:lab(91.6229% -.159115 -2.26791);--tw-prose-captions:lab(47.7841% -.393182 -10.0268);--tw-prose-kbd:lab(8.11897% .811279 -12.254);--tw-prose-kbd-shadows:lab(8.11897% .811279 -12.254/.1);--tw-prose-code:lab(8.11897% .811279 -12.254);--tw-prose-pre-code:lab(91.6229% -.159115 -2.26791);--tw-prose-pre-bg:lab(16.1051% -1.18239 -11.7533);--tw-prose-th-borders:lab(85.1236% -.612259 -3.7138);--tw-prose-td-borders:lab(91.6229% -.159115 -2.26791);--tw-prose-invert-body:lab(85.1236% -.612259 -3.7138);--tw-prose-invert-lead:lab(65.9269% -.832707 -8.17473);--tw-prose-invert-counters:lab(65.9269% -.832707 -8.17473);--tw-prose-invert-bullets:lab(35.6337% -1.58697 -10.8425);--tw-prose-invert-hr:lab(27.1134% -.956401 -12.3224);--tw-prose-invert-quotes:lab(96.1596% -.0823438 -1.13575);--tw-prose-invert-quote-borders:lab(27.1134% -.956401 -12.3224);--tw-prose-invert-captions:lab(65.9269% -.832707 -8.17473);--tw-prose-invert-pre-code:lab(85.1236% -.612259 -3.7138);--tw-prose-invert-th-borders:lab(35.6337% -1.58697 -10.8425);--tw-prose-invert-td-borders:lab(27.1134% -.956401 -12.3224)}}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.571429em;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose-lg{font-size:1.125rem;line-height:1.77778}.prose-lg :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.33333em;margin-bottom:1.33333em}.prose-lg :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.09091em;margin-bottom:1.09091em;font-size:1.22222em;line-height:1.45455}.prose-lg :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.66667em;margin-bottom:1.66667em;padding-inline-start:1em}.prose-lg :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:.833333em;font-size:2.66667em;line-height:1}.prose-lg :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.86667em;margin-bottom:1.06667em;font-size:1.66667em;line-height:1.33333}.prose-lg :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.66667em;margin-bottom:.666667em;font-size:1.33333em;line-height:1.5}.prose-lg :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.77778em;margin-bottom:.444444em;line-height:1.55556}.prose-lg :where(img):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-lg :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.77778em;margin-bottom:1.77778em}.prose-lg :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-lg :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.77778em;margin-bottom:1.77778em}.prose-lg :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.222222em;padding-inline-end:.444444em;padding-bottom:.222222em;border-radius:.3125rem;padding-inline-start:.444444em;font-size:.888889em}.prose-lg :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.888889em}.prose-lg :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.866667em}.prose-lg :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em}.prose-lg :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:1em;padding-inline-end:1.5em;padding-bottom:1em;border-radius:.375rem;margin-top:2em;margin-bottom:2em;padding-inline-start:1.5em;font-size:.888889em;line-height:1.75}.prose-lg :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-lg :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.33333em;margin-bottom:1.33333em;padding-inline-start:1.55556em}.prose-lg :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.666667em;margin-bottom:.666667em}.prose-lg :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-lg :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.444444em}.prose-lg :where(.prose-lg>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.888889em;margin-bottom:.888889em}.prose-lg :where(.prose-lg>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.33333em}.prose-lg :where(.prose-lg>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.33333em}.prose-lg :where(.prose-lg>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.33333em}.prose-lg :where(.prose-lg>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.33333em}.prose-lg :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.888889em;margin-bottom:.888889em}.prose-lg :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.33333em;margin-bottom:1.33333em}.prose-lg :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.33333em}.prose-lg :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.666667em;padding-inline-start:1.55556em}.prose-lg :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:3.11111em;margin-bottom:3.11111em}.prose-lg :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-lg :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-lg :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-lg :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-lg :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.888889em;line-height:1.5}.prose-lg :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:.75em;padding-bottom:.75em;padding-inline-start:.75em}.prose-lg :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-lg :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-lg :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.75em;padding-inline-end:.75em;padding-bottom:.75em;padding-inline-start:.75em}.prose-lg :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-lg :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-lg :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.77778em;margin-bottom:1.77778em}.prose-lg :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-lg :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1em;font-size:.888889em;line-height:1.5}.prose-lg :where(.prose-lg>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-lg :where(.prose-lg>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.max-w-none{max-width:none}.shrink{flex-shrink:1}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.lowercase{text-transform:lowercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}}:root{--background:#fff;--foreground:#141414;--muted:#6b6b6b;--line:#e5e5e5;--surface:#f5f5f5;--px-1:#e9e9e9;--px-2:#dcdcdc;--px-3:#d4d4d4;--px-4:#cfcfcf;--px-5:#c4c4c4;--px-6:#b4b4b4;--px-7:#b0b0b0;--px-8:#a8a8a8;--px-9:#a2a2a2;--px-10:#9d9d9d;--px-11:#959595;--px-12:#8d8d8d;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@keyframes pxa{0%{background:var(--px-1)}18%{background:var(--px-7)}35%{background:var(--px-12)}55%{background:var(--px-2)}72%{background:var(--px-9)}to{background:var(--px-1)}}@keyframes pxb{0%{background:var(--px-4)}22%{background:var(--px-12)}40%{background:var(--px-1)}58%{background:var(--px-8)}85%{background:var(--px-5)}to{background:var(--px-4)}}@keyframes pxc{0%{background:var(--px-6)}15%{background:var(--px-1)}38%{background:var(--px-11)}62%{background:var(--px-3)}80%{background:var(--px-12)}to{background:var(--px-6)}}@keyframes pxda{0%{background:var(--px-3)}20%{background:0 0}42%{background:var(--px-9)}61%{background:var(--px-5)}84%{background:0 0}to{background:var(--px-3)}}@keyframes pxdb{0%{background:0 0}24%{background:var(--px-8)}45%{background:var(--px-2)}66%{background:0 0}88%{background:var(--px-11)}to{background:0 0}}@keyframes pxdc{0%{background:0 0}30%{background:var(--px-10)}48%{background:0 0}70%{background:var(--px-4)}90%{background:0 0}to{background:0 0}}*{box-sizing:border-box}html{scrollbar-gutter:stable;scroll-padding-top:32px}body{background:var(--background);color:var(--foreground);font-family:var(--font-source), sans-serif;-webkit-font-smoothing:antialiased;margin:0;font-size:18px}::selection{background:var(--foreground);color:var(--background)}a,button{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{text-decoration:none}:focus-visible{outline:2px solid var(--foreground);outline-offset:5px}h1,h2,h3,h4{font-family:var(--font-display), sans-serif;letter-spacing:-.02em;font-weight:600;line-height:1.08}.site-shell{flex-direction:column;gap:44px;max-width:860px;min-height:100dvh;margin:auto;padding:40px;display:flex}.site-shell>main{flex:1}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;padding-bottom:18px;display:flex}.wordmark{font-family:var(--font-display);letter-spacing:-.02em;font-size:21px;font-weight:600}.site-header nav{font-family:var(--font-fira), monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);flex-wrap:wrap;gap:24px;font-size:11px;display:flex}.nav-link{align-items:center;display:inline-flex;position:relative}.nav-link[aria-current]{color:var(--foreground)}.nav-link>span:first-child{z-index:1;align-items:center;display:inline-flex;position:relative}.pixel{background:var(--foreground);flex:none;width:4px;height:4px}.nav-link .pixel{position:absolute;left:-10px}.pixel-field{z-index:0;grid-template-columns:repeat(var(--columns), 5px);--px-1:#f3f3f0;--px-2:#f0f0ed;--px-3:#ededea;--px-4:#ebebe7;--px-5:#e8e8e4;--px-6:#e5e5e1;--px-7:#e2e2de;--px-8:#e0e0db;--px-9:#dddcd8;--px-10:#dad9d5;--px-11:#d7d6d2;--px-12:#d4d3cf;grid-auto-rows:5px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.pixel-wash{z-index:-1;grid-template-columns:repeat(var(--columns,1), 14px);contain:strict;--px-1:var(--foreground);grid-auto-rows:14px;inset:0;overflow:hidden;transform:none}@supports (color:color-mix(in lab, red, red)){.pixel-wash{--px-1:color-mix(in srgb, var(--foreground) 1.25%, transparent)}}.pixel-wash{--px-2:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.pixel-wash{--px-2:color-mix(in srgb, var(--foreground) 1.5%, transparent)}}.pixel-wash{--px-3:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.pixel-wash{--px-3:color-mix(in srgb, var(--foreground) 1.75%, transparent)}}.pixel-wash{--px-4:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.pixel-wash{--px-4:color-mix(in srgb, var(--foreground) 2%, transparent)}}.pixel-wash{--px-5:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.pixel-wash{--px-5:color-mix(in srgb, var(--foreground) 2.25%, transparent)}}.pixel-wash{--px-6:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.pixel-wash{--px-6:color-mix(in srgb, var(--foreground) 2.5%, transparent)}}.pixel-wash{--px-7:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.pixel-wash{--px-7:color-mix(in srgb, var(--foreground) 2.75%, transparent)}}.pixel-wash{--px-8:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.pixel-wash{--px-8:color-mix(in srgb, var(--foreground) 3%, transparent)}}.pixel-wash{--px-9:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.pixel-wash{--px-9:color-mix(in srgb, var(--foreground) 3.25%, transparent)}}.pixel-wash{--px-10:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.pixel-wash{--px-10:color-mix(in srgb, var(--foreground) 3.5%, transparent)}}.pixel-wash{--px-11:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.pixel-wash{--px-11:color-mix(in srgb, var(--foreground) 3.75%, transparent)}}.pixel-wash{--px-12:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.pixel-wash{--px-12:color-mix(in srgb, var(--foreground) 4%, transparent)}}.pixel-field i{background:var(--px-1);opacity:0;transition:opacity 60ms linear var(--out,0s);animation-timing-function:steps(5,end);animation-iteration-count:infinite;animation-play-state:paused}a:hover>.pixel-field i{opacity:1;transition-delay:var(--in,0s);animation-play-state:running}.pixel-wash{opacity:0;transition:opacity 90ms linear}.pixel-wash i{opacity:1;transition:none}a:hover>.pixel-wash{opacity:1}a:hover>span:first-child{color:var(--foreground)}.icon-button{border:1px solid var(--line);background:0 0;border-radius:50%;place-items:center;width:36px;height:36px;display:grid}.eyebrow{font-family:var(--font-fira), monospace;letter-spacing:.075em;text-transform:uppercase;font-size:10px;font-weight:400}.button{font-family:var(--font-fira), monospace;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line);border-radius:4px;justify-content:center;align-items:center;gap:10px;padding:11px 18px;font-size:11px;transition:background .12s;display:inline-flex}.button:hover{background:var(--surface);border-color:var(--foreground)}.button:focus-visible{outline-offset:8px}.button svg{width:18px;height:18px}.text-link{text-underline-offset:5px;text-decoration:underline;-webkit-text-decoration-color:var(--muted);-webkit-text-decoration-color:var(--muted);-webkit-text-decoration-color:var(--muted);text-decoration-color:var(--muted);align-items:center;gap:9px;font-size:15px;display:inline-flex}.text-link:hover{-webkit-text-decoration-color:var(--foreground);-webkit-text-decoration-color:var(--foreground);-webkit-text-decoration-color:var(--foreground);text-decoration-color:var(--foreground)}.list{flex-direction:column;margin-inline:-16px;display:flex}.list>*{padding-inline:16px}.list-heading,.row-index,.row-meta,.list-end,.filters{font-family:var(--font-fira), monospace;letter-spacing:.06em;color:var(--muted);font-size:11px}.list-heading{letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid var(--foreground);justify-content:space-between;align-items:baseline;gap:20px;padding-bottom:12px;display:flex}.filters{border-bottom:1px solid var(--foreground);letter-spacing:.08em;text-transform:uppercase;flex-wrap:wrap;gap:20px;padding-bottom:12px;display:flex}.filter{align-items:center;gap:6px;display:inline-flex}.filter.active{color:var(--foreground)}.row{border-bottom:1px solid var(--line);isolation:isolate;grid-template-columns:84px minmax(0,1fr) 96px;align-items:center;gap:20px;padding-block:22px;display:grid;position:relative}.list>.row:first-child{border-top:1px solid var(--foreground)}.list-index .row{grid-template-columns:28px 84px minmax(0,1fr) 96px;padding-block:26px}.list-posts .row{grid-template-columns:104px minmax(0,1fr) 84px;align-items:start;gap:24px;padding-block:28px}.row-date,.row-eyebrow{font-family:var(--font-fira), monospace;letter-spacing:.06em;color:var(--muted);font-size:11px;line-height:1.7}.row-eyebrow{letter-spacing:.1em;text-transform:uppercase;font-size:10px}.list-links .row{grid-template-columns:130px minmax(0,1fr);padding-block:16px}.list-links .row-index{text-transform:uppercase;letter-spacing:.1em}.list-links .row-title{font-size:17px}.list-posts .row:not(:has(.cover)){grid-template-columns:104px minmax(0,1fr)}.list-posts .row-title{letter-spacing:-.025em;font-size:24px;line-height:1.2}.list-posts .row-summary{max-width:520px}.row-text{flex-direction:column;gap:4px;display:flex}.row-title{font-family:var(--font-display), sans-serif;letter-spacing:-.02em;font-size:18px;font-weight:600}.list-index .row-title{font-size:20px}.row-summary{color:var(--muted);max-width:420px;font-size:15px;line-height:1.45}.row-meta{white-space:nowrap;text-align:right;line-height:1.7}.list-index .row-meta{white-space:normal}.cover{border-radius:4px;flex:none;grid-template:100%/100%;place-items:center;width:84px;height:84px;display:grid;overflow:hidden}.cover img{object-fit:cover;width:100%;height:100%}.row .cover img{filter:grayscale();transition:filter .18s}.row:hover .cover img{filter:none}.cover[data-cover=object]{background:var(--surface)}.cover[data-cover=object] img{object-fit:contain;padding:6px}.cover:not(:has(img)){border:1px solid var(--line)}.cover>span{font-family:var(--font-display), sans-serif;color:var(--muted);font-size:22px;font-weight:600}.list-end{letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:10px;padding-top:22px;font-size:10px;display:flex}.list-end>span:nth-child(2){background:var(--line);flex:1;height:1px}.list-end a{color:var(--foreground);margin-inline:8px}.list-heading a{text-transform:none;letter-spacing:.02em;color:var(--foreground)}.site-footer{font-family:var(--font-fira), monospace;letter-spacing:.06em;color:var(--muted);justify-content:space-between;align-items:baseline;gap:20px;padding-top:8px;font-size:11px;display:flex}.site-footer>div{gap:20px;display:flex}.page-section{flex-direction:column;gap:44px;display:flex}.page-head{flex-direction:column;gap:10px;display:flex}.page-title{letter-spacing:-.03em;margin:0;font-size:34px;font-weight:600}.home-title{letter-spacing:-.03em;text-wrap:pretty;max-width:620px;margin:0;font-size:44px;line-height:1.14}.caret{background:var(--foreground);vertical-align:4px;width:6px;height:6px;margin-left:5px;display:inline-block}.home-title .caret{vertical-align:5px;width:7px;height:7px;margin-left:6px}.muted{color:var(--muted)}.page-intro{color:var(--muted);text-wrap:pretty;max-width:460px;margin:0;font-size:18px;line-height:1.6}.home-title+.page-intro{max-width:500px;font-size:19px}.filter:hover{color:var(--foreground)}.empty-state{border:1px dashed var(--line);border-radius:6px;padding:55px 30px}.empty-state h2,.empty-state h3{margin:0 0 12px;font-size:26px}.empty-state p{color:var(--muted);margin:0 0 15px}.back-link{font-family:var(--font-fira), monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:11px}.detail-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}.post-lead-image{border-radius:4px;height:300px;display:block;overflow:hidden}.post-lead-image img{object-fit:cover;width:100%;height:100%}.project-cover .cover{width:100%;height:300px}.project-cover .cover img{object-position:top center}.project-cover .cover[data-cover]{border:1px solid var(--line);height:auto;min-height:220px;padding:28px}.project-cover .cover[data-cover] img{width:auto;max-width:100%;height:auto;max-height:420px;padding:0}.project-cover .cover[data-cover=icon] img{max-width:160px;max-height:160px}.project-cover .cover>span{font-size:44px}.article-width{width:100%;max-width:640px}.article-layout{grid-template-columns:minmax(0,640px);gap:48px;display:grid}.article-layout:has(.toc){grid-template-columns:150px minmax(0,640px)}.article-header{border-bottom:1px solid var(--line);flex-direction:column;gap:14px;margin-bottom:40px;padding-bottom:36px;display:flex}.article-header h1{letter-spacing:-.03em;text-wrap:pretty;margin:0;font-size:40px;font-weight:600;line-height:1.15}.article-header .page-intro{max-width:none;font-size:20px;line-height:1.55}.article-meta{font-family:var(--font-fira), monospace;letter-spacing:.06em;color:var(--muted);align-items:center;gap:10px;font-size:11px;display:flex}.lettermark{border:1px solid var(--line);width:28px;height:28px;font-family:var(--font-display), sans-serif;color:var(--foreground);border-radius:4px;place-items:center;font-size:14px;font-weight:600;display:grid}.toc{font-family:var(--font-fira), monospace;letter-spacing:.04em;color:var(--muted);flex-direction:column;align-self:start;gap:12px;font-size:11px;display:flex;position:sticky;top:32px}.toc .eyebrow{letter-spacing:.1em;margin-bottom:4px}.toc a{padding-left:12px}.toc a:hover{color:var(--foreground)}.article-prose{--tw-prose-body:var(--foreground);--tw-prose-headings:var(--foreground);--tw-prose-lead:var(--muted);--tw-prose-links:var(--foreground);--tw-prose-bold:var(--foreground);--tw-prose-counters:var(--muted);--tw-prose-bullets:var(--muted);--tw-prose-hr:var(--line);--tw-prose-quotes:var(--foreground);--tw-prose-quote-borders:var(--foreground);--tw-prose-captions:var(--muted);--tw-prose-code:var(--foreground);--tw-prose-th-borders:var(--line);--tw-prose-td-borders:var(--line);font-size:19px;line-height:1.75}.article-prose :where(p){text-wrap:pretty;margin-bottom:28px}.article-prose :where(h2,h3,h4){font-family:var(--font-display), sans-serif;scroll-margin-top:32px;font-weight:600}.article-prose :where(h2){letter-spacing:-.025em;margin:44px 0 16px;font-size:25px;line-height:1.25}.article-prose :where(blockquote){border-left-width:2px;padding-left:20px;font-size:20px;font-style:normal;line-height:1.55}.article-prose :where(ul){padding-left:22px;list-style:none}.article-prose :where(ul)>li{position:relative}.article-prose :where(ul)>li:before{content:"";background:var(--muted);width:5px;height:5px;position:absolute;top:.62em;left:-18px}.article-prose :where(li){margin-bottom:10px}.article-prose :where(figcaption){font-family:var(--font-fira), monospace;letter-spacing:.06em;margin-top:10px;font-size:11px}.article-prose :where(code){font-family:var(--font-fira);font-weight:400}.article-prose :where(code):not(pre code){background:var(--surface);border-radius:3px;padding:.12em .3em}.article-prose :where(code):before,.article-prose :where(code):after{content:none}.article-prose :where(img,video){border-radius:6px;width:auto;max-width:100%;height:auto;max-height:560px}.zoom-in{cursor:zoom-in;width:fit-content;display:block}.zoom-view[open]{cursor:zoom-out;place-items:center;display:grid}.zoom-view{background:0 0;border:0;width:100vw;max-width:100vw;height:100vh;max-height:100vh;padding:0}.zoom-view::backdrop{background:#0c0e01eb}.zoom-view img{border-radius:4px;width:auto;max-width:94vw;height:auto;max-height:94vh}.article-prose a{text-underline-offset:4px;text-decoration:underline;-webkit-text-decoration-color:var(--muted);-webkit-text-decoration-color:var(--muted);-webkit-text-decoration-color:var(--muted);text-decoration-color:var(--muted)}.article-prose a:hover{-webkit-text-decoration-color:var(--foreground);-webkit-text-decoration-color:var(--foreground);-webkit-text-decoration-color:var(--foreground);text-decoration-color:var(--foreground)}.article-prose a svg{vertical-align:-.08em;width:.75em;height:.75em;margin-left:.22em;display:inline-block}.article-prose mark{background:var(--surface);color:var(--foreground);box-shadow:inset 0 -2px 0 var(--px-8)}.code-block{border:1px solid var(--line);background:var(--surface);font-family:var(--font-fira);border-radius:4px;margin:32px 0;font-size:13.5px;line-height:1.7;overflow:hidden}.code-block figcaption{background:var(--surface);border-bottom:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;margin:0;padding:11px 17px;font-size:11px;display:flex}.code-block pre{border-radius:0;margin:0;padding:20px 0;overflow-x:auto}.code-block pre code{min-width:max-content;display:block}.code-block .line{min-width:100%;padding:0 20px;display:inline-block}.code-block .highlighted,.code-block .diff.add{background:#91c74320;border-left:2px solid #649724;padding-left:18px}.code-block .diff.remove{background:#d6555520}.code-block .highlighted-word{background:#91c74335}.copy-button{align-items:center;gap:7px;display:flex}.copy-button svg{width:14px;height:14px}.callout{border:1px solid var(--line);border-left:3px solid var(--foreground);background:var(--surface);border-radius:5px;gap:15px;margin:30px 0;padding:20px;font-size:17px;line-height:1.6;display:flex}.callout>svg{flex-shrink:0;margin-top:4px}.callout strong{font-weight:600}.callout p{margin:5px 0 0}.article-demo{border:1px solid var(--line);border-radius:7px;margin:35px 0}.sculpture{background:var(--surface);border-radius:6px;height:360px;position:relative;overflow:hidden}.scene-label,.scene-footer{z-index:2;font-family:var(--font-fira), monospace;letter-spacing:.06em;color:var(--muted);align-items:center;font-size:10px;display:flex;position:absolute;left:20px;right:20px}.scene-label{gap:8px;top:14px}.scene-label span{margin-left:auto}.scene-footer{justify-content:space-between;bottom:14px}.scene-footer>span,.scene-footer button{font:inherit;align-items:center;gap:7px;display:flex}.scene-footer button{color:var(--foreground);border-bottom:1px solid var(--line)}.scene-canvas{position:absolute;inset:22px 0}.scene-canvas canvas{touch-action:pan-y}.sculpture-poster{place-items:center;display:grid;position:absolute;inset:0;transform:rotate(-22deg)}.poster-ring{border:18px solid var(--px-4);border-radius:50%;width:60%;height:60%;position:absolute}.ring-a{transform:rotateX(55deg)}.ring-b{transform:rotateY(58deg)rotate(-25deg)}.ring-c{transform:rotateY(60deg)rotate(65deg)}.poster-core{aspect-ratio:1;background:var(--px-10);clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);width:24%}.article-demo figcaption{color:var(--muted);padding:10px 20px 15px;font-size:13px}.sample-note{background:var(--surface);border:1px solid var(--line);margin-bottom:30px;padding:13px 18px;font-size:13px}.gallery{grid-template-columns:1fr 1fr;gap:20px;display:grid}.article-end{border-top:1px solid var(--line);font-family:var(--font-fira), monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);justify-content:space-between;align-items:center;margin-top:55px;padding-top:24px;font-size:11px;display:flex}.related-work{margin-top:48px}.related-posts{border-top:1px solid var(--line);margin-top:40px;padding-top:30px}.related-posts a{margin-top:15px;text-decoration:underline;display:block}.skip-link{z-index:100;background:var(--foreground);color:var(--background);padding:12px;position:fixed;top:8px;left:8px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.preview-banner,.demo-banner{text-align:center;background:var(--surface);border-bottom:1px solid var(--line);padding:7px 16px;font-size:11px}.preview-banner{background:var(--foreground);color:var(--background)}.preview-banner a{margin-left:20px;text-decoration:underline}@media (max-width:780px){.site-shell{gap:36px;padding:28px 24px}.home-title{font-size:36px}.list-index .row,.row{grid-template-columns:84px minmax(0,1fr);row-gap:10px}.row-meta{text-align:left;grid-column:2}.list-index .row-index{display:none}.list-posts .row{grid-template-columns:minmax(0,1fr) 104px}.list-posts .row-date{grid-column:1/-1}.list-posts .cover{grid-column:2;width:104px;height:66px}.article-layout:has(.toc){grid-template-columns:minmax(0,1fr)}.toc{display:none}.article-header h1{font-size:32px}.article-header .page-intro,.article-prose{font-size:18px}}@media (max-width:560px){.site-shell{padding:24px 20px}.site-header{flex-wrap:wrap;gap:16px}.site-header nav{gap:16px 18px}.home-title{font-size:30px}.page-title{font-size:28px}.row,.list-index .row{grid-template-columns:88px minmax(0,1fr);gap:8px 16px}.cover,.list-index .cover,.list-posts .cover{width:88px;height:60px}.list-posts .row{grid-template-columns:minmax(0,1fr) 88px}.list-posts .row-title{font-size:20px}.article-header h1{font-size:28px}.site-footer{flex-wrap:wrap;gap:12px 20px}}.detail-links{flex-wrap:wrap;align-items:center;gap:20px;margin-top:12px;display:flex}.detail-links .text-link{font-family:var(--font-fira), monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-underline-offset:4px;gap:4px;font-size:11px;text-decoration:underline}.detail-links .text-link svg{width:11px;height:11px}.detail-links .text-link:hover{color:var(--foreground)}.filter:focus-visible{outline-offset:6px}@media (prefers-reduced-motion:reduce){.pixel-field i{background:var(--px-6)}*,:before,:after{transition:none!important;animation:none!important}}.workspace-world{background:var(--surface);height:calc(100dvh - 30px);min-height:580px;position:relative;overflow:hidden}.world-header{z-index:25;pointer-events:none;justify-content:space-between;align-items:center;padding:26px 40px;display:flex;position:absolute;inset:0 0 auto}.world-header>*{pointer-events:auto}.world-header nav{background:var(--background);border:1px solid var(--line);border-radius:30px;gap:27px;padding:12px 25px;font-size:16px;display:flex}.world-header nav a[aria-current]{text-underline-offset:5px;text-decoration:underline}.world-intro{z-index:15;pointer-events:none;position:absolute;top:135px;left:40px}.world-intro h1{margin:16px 0;font-size:clamp(30px,3.2vw,48px)}.world-intro p{color:var(--muted);font-size:16px}.world-stage{width:100%;height:100%}.world-stage canvas{image-rendering:pixelated;touch-action:none}.world-controls{z-index:25;pointer-events:none;font-family:var(--font-fira);color:var(--muted);justify-content:space-between;align-items:center;gap:20px;font-size:10px;display:flex;position:absolute;bottom:22px;left:40px;right:40px}.world-controls>div{pointer-events:auto;gap:12px;display:flex}.world-controls button,.world-flat-bar button{background:var(--background);border:1px solid var(--line);border-radius:6px;align-items:center;gap:7px;padding:10px 14px;display:inline-flex}.world-label{min-width:150px;color:var(--foreground);background:var(--background);border:1px solid var(--line);white-space:nowrap;border-radius:5px;padding:10px 15px;transition:transform .2s,border-color .2s;display:block;box-shadow:0 5px 14px #26332713}.world-label:after{content:"";border-left:1px solid var(--muted);pointer-events:none;height:18px;position:absolute;top:100%;left:50%}.world-label span{font:8px var(--font-fira);letter-spacing:.06em;color:var(--muted);margin-bottom:5px;display:block}.world-label strong{font:600 18px var(--font-display)}.world-label i{margin-left:12px;font-style:normal}.world-label:hover,.world-label:focus-visible{border-color:var(--foreground);transform:translateY(-4px)}.world-reader{z-index:30;background:var(--background);border:1px solid var(--line);border-radius:12px;position:absolute;inset:100px 28px 68px;overflow:auto;box-shadow:0 20px 100px #00000035}.world-reader .site-header,.world-reader .site-footer{display:none}.world-reader .site-shell{max-width:1200px}.world-reader .page-section{padding-top:25px}.world-close{z-index:3;background:var(--background);border-bottom:1px solid var(--line);align-items:center;gap:7px;padding:18px 30px;font-size:14px;display:flex;position:sticky;top:0}.world-flat-bar{text-align:center;padding:12px;font-size:14px}.world-loading,.world-fallback{text-align:center;color:var(--muted);position:absolute;inset:45% 20% auto}.world-fallback button{gap:8px;text-decoration:underline;display:inline-flex}@media (max-width:700px){.world-header{padding:18px}.world-header .wordmark{font-size:28px}.world-header nav{gap:15px;padding:8px 14px;font-size:14px}.world-intro{top:90px;left:20px}.world-intro h1{font-size:28px}.world-intro p{display:none}.world-controls{flex-direction:column;gap:10px;bottom:14px;left:16px;right:16px}.world-controls>span{font-size:8px}.world-label{min-width:100px;padding:7px 10px}.world-label strong{font-size:13px}.world-label span{font-size:7px}.world-reader{inset:80px 8px 90px}}.work-gallery{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:26px;margin-top:50px;display:grid}.work-gallery .zoom-in{aspect-ratio:1;width:100%;margin:0}.work-gallery img{object-fit:cover;background:var(--surface);border-radius:5px;width:100%;height:100%}.work-gallery figcaption{color:var(--muted);margin-top:10px;font-size:15px}.book-detail{align-items:center;gap:40px;margin:35px 0;display:flex}.book-detail-cover{flex-shrink:0;width:220px;height:auto}@media (max-width:700px){.book-detail{flex-direction:column;align-items:flex-start}.world-header nav{gap:10px;padding:8px 12px;font-size:13px}.world-header{padding:18px 12px}}.world-contact-link{pointer-events:auto;background:var(--foreground);color:var(--background);border-radius:6px;align-items:center;padding:10px 14px;display:inline-flex}@media (max-width:700px){.world-controls>div{gap:6px}.world-controls button,.world-contact-link{padding:9px 10px}}.world-label-compact{min-width:110px;padding:7px 10px}.world-label-compact strong{font-size:14px}.world-label-compact span{font-size:7px}.world-label-compact:after{display:none}.world-header nav{gap:4px;padding:5px}.world-header nav button{color:var(--foreground);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:24px;padding:9px 13px}.world-header nav button[aria-pressed=true]{background:var(--foreground);color:var(--background)}.world-header nav button:focus-visible,.room-sign:focus-visible{outline:2px solid var(--foreground);outline-offset:4px}.room-sign{color:#26362b;font:500 12px var(--font-body), sans-serif;text-shadow:0 1px 3px #fbfeef;cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:3px 7px}.room-sign:hover{text-underline-offset:3px;text-decoration:underline}.room-tooltip{white-space:nowrap;background:var(--background);color:var(--foreground);border:1px solid var(--foreground);border-radius:4px;padding:8px 12px;font-size:14px;display:block}.room-details{z-index:16;pointer-events:none;max-width:240px;position:absolute;top:125px;left:40px}.room-details h1{font-family:var(--font-display);margin:8px 0;font-size:34px;font-weight:600}.room-details p{color:var(--muted);margin-bottom:20px;font-size:15px}.room-details>div{flex-wrap:wrap;gap:9px;display:flex}.room-details a{pointer-events:auto;border:1px solid var(--line);background:var(--background);border-radius:5px;padding:7px 11px;font-size:14px}.room-details a:hover{border-color:var(--foreground)}.world-intro{max-width:200px}.world-intro h1{font-size:34px}@media (max-width:700px){.world-header{align-items:flex-start}.world-header nav{justify-content:center;gap:0;position:absolute;top:72px;left:12px;right:12px}.world-header nav button{padding:9px 8px;font-size:13px}.world-intro{max-width:180px;top:125px}.world-intro h1{font-size:23px}.room-details{max-width:calc(100% - 32px);top:126px;left:16px}.room-details h1{margin:3px 0;font-size:24px}.room-details p{display:none}.room-details>div{margin-top:8px}.room-sign{padding:6px 9px}.room-sign strong{font-size:13px}.room-sign span{display:none}.world-reader{top:120px}}.world-intro[aria-hidden=true]{display:none}.room-details{background:var(--background);border:1px solid var(--line);border-radius:7px;padding:18px}.world-header>.wordmark{background:var(--background);border-radius:6px;padding:5px 10px}@media (max-width:700px){.room-details{padding:10px 14px}.room-details .eyebrow{display:none}}.room-details{background:0 0;border:0;max-width:calc(100% - 80px);padding:0;top:auto;bottom:87px;left:40px}.room-details .sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:700px){.room-details{max-width:calc(100% - 32px);padding:0;bottom:100px;left:16px}.room-sign{padding:3px 5px;font-size:11px}}.workspace-world[data-lighting=day] .world-intro{color:#26362b}.workspace-world[data-lighting=day] .world-intro p,.workspace-world[data-lighting=day] .world-intro .eyebrow,.workspace-world[data-lighting=day] .world-controls>span{color:#52614b}.workspace-world[data-lighting=night] .world-intro{color:#f0f3e3}.world-controls>div{flex-wrap:wrap;justify-content:flex-end}.game-links{flex-wrap:wrap;gap:14px;margin:32px 0 20px;display:flex}.game-doc{max-width:740px}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
