/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */
@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-font-weight:initial;--tw-tracking:initial;--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}}}@layer theme{:root,:host{--font-sans:"Helvetica Neue", Helvetica, Arial, sans-serif;--font-mono:Menlo, Consolas, monospace;--spacing:.25rem;--font-weight-normal:400;--font-weight-semibold:600;--tracking-normal:0em;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-ink:#1a1915;--color-quote:#6e6e66;--color-faint:#8a8981;--color-hairline:#e5e4de;--color-underline:#8a8981;--color-paper:#fafaf7;--color-wash:#f1f0eb;--container-site:980px;--container-measure:680px;--container-hero:900px}}@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,ui-sans-serif, system-ui, 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]){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;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{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}body{background-color:var(--color-paper);color:var(--color-body)}h1{font-size:var(--size-title);line-height:var(--tw-leading,1.05);letter-spacing:var(--tw-tracking,-.03em);font-weight:var(--tw-font-weight,600);color:var(--color-ink)}h2{margin-top:var(--stack-gap);font-size:var(--size-heading);line-height:var(--tw-leading,1.2);letter-spacing:var(--tw-tracking,-.02em);font-weight:var(--tw-font-weight,600);color:var(--color-ink)}h2:first-child{margin-top:0}h3{margin-top:calc(var(--spacing) * 9);font-size:var(--size-item);line-height:var(--tw-leading,1.2);letter-spacing:var(--tw-tracking,-.02em);font-weight:var(--tw-font-weight,600);color:var(--color-ink)}h3:first-child{margin-top:0}p,ul,ol{margin-top:calc(var(--spacing) * 6);font-size:var(--size-body-lg);line-height:var(--tw-leading,1.65);color:var(--color-body)}:is(p,ul,ol):first-child{margin-top:0}ul{margin-left:calc(var(--spacing) * 5);gap:calc(var(--spacing) * 2.5);flex-direction:column;list-style-type:disc;display:flex}ol{margin-left:calc(var(--spacing) * 5);gap:calc(var(--spacing) * 2.5);flex-direction:column;list-style-type:decimal;display:flex}blockquote{margin-top:calc(var(--spacing) * 6);border-left-style:var(--tw-border-style);border-left-width:1px;border-color:var(--color-hairline);padding-left:calc(var(--spacing) * 6);font-size:var(--size-body);line-height:var(--tw-leading,1.65);color:var(--color-quote);font-style:italic}blockquote p,blockquote li{font-size:inherit;line-height:inherit;color:inherit}strong{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--color-ink)}a{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-underline);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));padding-bottom:1px;text-decoration-line:none}a:hover{border-color:var(--color-ink)}code{background-color:var(--color-wash);font-family:var(--font-mono);font-size:var(--size-code);padding:2px 5px}pre{margin-top:calc(var(--spacing) * 6);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-hairline);background-color:var(--color-wash);padding-inline:calc(var(--spacing) * 6);padding-block:calc(var(--spacing) * 5);font-size:var(--size-pre);line-height:var(--tw-leading,1.65);overflow-x:auto}@media not all and (width>=40rem){pre{margin-inline:calc(var(--gutter) * -1);border-inline-style:var(--tw-border-style);padding-inline:var(--gutter);border-inline-width:0}}pre code{background-color:#0000;padding:0}table{margin-top:calc(var(--spacing) * 6);border-collapse:collapse;font-size:var(--size-body);line-height:var(--tw-leading,1.65);color:var(--color-body);white-space:nowrap;display:block;overflow-x:auto}th{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-hairline);padding-block:calc(var(--spacing) * 2);padding-right:calc(var(--spacing) * 8);text-align:left;--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--color-ink)}td{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-hairline);padding-block:calc(var(--spacing) * 2);padding-right:calc(var(--spacing) * 8)}th:last-child,td:last-child{padding-right:0}}@layer components{.article-prose h1{margin-top:16px}.article-prose h1+*{margin-top:36px}.article-prose h2{counter-increment:section;border-top:1px solid var(--color-hairline);margin-top:var(--stack-gap);padding-top:var(--stack-gap);position:relative}.article-prose h2:before{color:var(--color-faint);text-transform:uppercase;letter-spacing:.14em;content:counter(section, decimal-leading-zero) " / " counter(section-total, decimal-leading-zero);margin-bottom:12px;font-size:12px;font-weight:400;display:block}@media (width>=69.25rem){.article-prose h2{border-top:none}.article-prose h2:after{content:"";top:0;left:calc(-1 * (var(--label-col) + var(--col-gap)));width:calc(100% + var(--label-col) + var(--col-gap));background:var(--color-hairline);height:1px;position:absolute}.article-prose h2:before{top:calc(var(--stack-gap) + 12px);left:calc(-1 * (var(--label-col) + var(--col-gap)));width:var(--label-col);margin-bottom:0;position:absolute}}}@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.static{position:static}.sticky{position:sticky}.top-0{top:0}.z-10{z-index:10}.mx-auto{margin-inline:auto}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-3\.5{margin-top:calc(var(--spacing) * 3.5)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-9{margin-top:calc(var(--spacing) * 9)}.mt-stack-gap{margin-top:var(--stack-gap)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-9{margin-bottom:calc(var(--spacing) * 9)}.mb-stack-gap{margin-bottom:var(--stack-gap)}.ml-2{margin-left:calc(var(--spacing) * 2)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-14{width:calc(var(--spacing) * 14);height:calc(var(--spacing) * 14)}.size-18{width:calc(var(--spacing) * 18);height:calc(var(--spacing) * 18)}.max-w-hero{max-width:var(--container-hero)}.max-w-measure{max-width:var(--container-measure)}.min-w-0{min-width:0}.flex-none{flex:none}.shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.scroll-mt-14{scroll-margin-top:calc(var(--spacing) * 14)}.scrollbar-none{scrollbar-width:none}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-3\.5{gap:calc(var(--spacing) * 3.5)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-9{gap:calc(var(--spacing) * 9)}.gap-stack-gap{gap:var(--stack-gap)}.gap-x-2\.5{column-gap:calc(var(--spacing) * 2.5)}.gap-x-5{column-gap:calc(var(--spacing) * 5)}.gap-x-6{column-gap:calc(var(--spacing) * 6)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.gap-y-3{row-gap:calc(var(--spacing) * 3)}.overflow-x-auto{overflow-x:auto}.rounded-full{border-radius:3.40282e38px}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.ink-link{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-underline);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));padding-bottom:1px;text-decoration-line:none}.ink-link:hover{border-color:var(--color-ink)}.ink-link{font-size:13px;line-height:var(--tw-leading,1.45);color:var(--color-ink)}.link{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-underline);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));padding-bottom:1px;text-decoration-line:none}.link:hover{border-color:var(--color-ink)}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-none{--tw-border-style:none;border-style:none}.border-hairline{border-color:var(--color-hairline)}.border-transparent{border-color:#0000}.bg-paper{background-color:var(--color-paper)}.object-cover{object-fit:cover}.px-10{padding-inline:calc(var(--spacing) * 10)}.px-gutter{padding-inline:var(--gutter)}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-9{padding-block:calc(var(--spacing) * 9)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-hero-pad{padding-block:var(--hero-pad)}.py-section-pad{padding-block:var(--section-pad)}.pt-stack-gap{padding-top:var(--stack-gap)}.pb-0\.5{padding-bottom:calc(var(--spacing) * .5)}.text-display{font-size:var(--size-display);line-height:var(--tw-leading,1.05);letter-spacing:var(--tw-tracking,-.045em);font-weight:var(--tw-font-weight,600)}.text-title{font-size:var(--size-title);line-height:var(--tw-leading,1.05);letter-spacing:var(--tw-tracking,-.03em);font-weight:var(--tw-font-weight,600)}.date{font-size:13px;line-height:var(--tw-leading,1.45);color:var(--color-faint)}.description{font-size:var(--size-body);line-height:var(--tw-leading,1.65);color:var(--color-body)}.lede{font-size:var(--size-body-lg);line-height:var(--tw-leading,1.65);color:var(--color-ink)}.text-body{font-size:var(--size-body);line-height:var(--tw-leading,1.65)}.text-small{font-size:13px;line-height:var(--tw-leading,1.45)}.kicker{color:var(--color-faint);text-transform:uppercase;letter-spacing:.14em;font-size:12px}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\.02em\]{--tw-tracking:.02em;letter-spacing:.02em}.tracking-normal{--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal)}.whitespace-nowrap{white-space:nowrap}.text-faint{color:var(--color-faint)}.text-ink{color:var(--color-ink)}.text-quote{color:var(--color-quote)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.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-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.first\:mt-4:first-child{margin-top:calc(var(--spacing) * 4)}@media (hover:hover){.hover\:text-ink:hover{color:var(--color-ink)}}.aria-current\:border-ink[aria-current=true]{border-color:var(--color-ink)}.aria-current\:text-ink[aria-current=true]{color:var(--color-ink)}@media not all and (width>=48rem){.max-md\:-mx-gutter{margin-inline:calc(var(--gutter) * -1)}.max-md\:px-gutter{padding-inline:var(--gutter)}}@media (width>=40rem){.sm\:mt-14{margin-top:calc(var(--spacing) * 14)}.sm\:mb-0{margin-bottom:0}.sm\:grid{display:grid}.sm\:size-18{width:calc(var(--spacing) * 18);height:calc(var(--spacing) * 18)}.sm\:grid-cols-\[var\(--date-col\)_1fr\]{grid-template-columns:var(--date-col) 1fr}.sm\:gap-5{gap:calc(var(--spacing) * 5)}.sm\:gap-x-6{column-gap:calc(var(--spacing) * 6)}.sm\:pt-1{padding-top:var(--spacing)}}@media (width>=48rem){.md\:block{display:block}.md\:scroll-mt-20{scroll-margin-top:calc(var(--spacing) * 20)}.md\:gap-6{gap:calc(var(--spacing) * 6)}.md\:overflow-visible{overflow:visible}.md\:py-0{padding-block:0}.md\:py-6{padding-block:calc(var(--spacing) * 6)}}@media (width>=69.25rem){.wide\:mb-0{margin-bottom:0}.wide\:grid{display:grid}.wide\:max-w-site{max-width:var(--container-site)}.wide\:grid-cols-\[var\(--label-col\)_1fr\]{grid-template-columns:var(--label-col) 1fr}.wide\:gap-x-\(--col-gap\){column-gap:var(--col-gap)}.wide\:pt-1{padding-top:var(--spacing)}.wide\:pt-4{padding-top:calc(var(--spacing) * 4)}}}:root{--size-display:clamp(44px, 10.39vw - 19.12px, 96px);--hero-pad:clamp(72px, 10.39vw + 4.88px, 120px);--size-title:34px;--size-heading:22px;--size-item:17px;--size-body-lg:16px;--size-body:14px;--size-code:14px;--size-pre:12px;--gutter:24px;--section-pad:48px;--stack-gap:36px;--color-body:#3e3d37;--label-col:260px;--date-col:130px;--col-gap:40px}@media (width>=40rem){:root{--size-title:48px;--size-heading:28px;--size-item:20px;--size-body-lg:18px;--size-body:16px;--size-code:15px;--size-pre:14px;--gutter:64px;--section-pad:72px;--stack-gap:48px}}@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-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@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}
