@font-face{font-family:jetbrainsMono;src:url(../media/jetbrains_mono_latin-s.p.1afd078f.woff2)format("woff2");font-display:swap;font-weight:400 700}@font-face{font-family:jetbrainsMono Fallback;src:local(Arial);ascent-override:77.57%;descent-override:22.82%;line-gap-override:0.0%;size-adjust:131.49%}.jetbrainsmono_8af8ff45-module__DPNGSG__className{font-family:jetbrainsMono,jetbrainsMono Fallback}.jetbrainsmono_8af8ff45-module__DPNGSG__variable{--font-jetbrains:"jetbrainsMono","jetbrainsMono 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{--tw-shadow:0 0 transparent;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 transparent;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 transparent;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 transparent;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 transparent;--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}::backdrop{--tw-shadow:0 0 transparent;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 transparent;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 transparent;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 transparent;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 transparent;--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:-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-mono:var(--font-jetbrains),ui-monospace,monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-jetbrains),ui-monospace,monospace;--font-body:"Source Serif 4 Variable",Georgia,"Times New Roman",serif}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::-webkit-file-upload-button{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%;-moz-tab-size:4;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:transparent;border-radius:0}::-webkit-file-upload-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:transparent;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:transparent;border-radius:0}:where(select:-webkit-any([multiple],[size])) optgroup{font-weight:bolder}:where(select:-moz-any([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:-webkit-any([multiple],[size])) optgroup option:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){padding-left:20px}:where(select:-moz-any([multiple],[size])) optgroup option:not(:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){padding-left:20px}:where(select:is([multiple],[size])) optgroup option:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){padding-left:20px}:where(select:-webkit-any([multiple],[size])) optgroup option:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-right:20px}:where(select:-moz-any([multiple],[size])) optgroup option:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-right:20px}:where(select:is([multiple],[size])) optgroup option:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-right:20px}:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)))::-webkit-file-upload-button{margin-right:4px}:not(:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)))::file-selector-button{margin-right:4px}:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)))::file-selector-button{margin-right:4px}:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))::-webkit-file-upload-button{margin-left:4px}:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))::file-selector-button{margin-left:4px}:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))::file-selector-button{margin-left: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-top:0;padding-bottom:0}::-webkit-datetime-edit-year-field{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-month-field{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-day-field{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-hour-field{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-minute-field{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-second-field{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-millisecond-field{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-meridiem-field{padding-top:0;padding-bottom:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button{-webkit-appearance:button;-moz-appearance:button;appearance:button}input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-file-upload-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance: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{.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:-webkit-sticky;position:sticky}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.table{display:table}.resize{resize:both}.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)}.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,)}}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/fonts/source-serif-4-latin-ext-opsz-normal.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/fonts/source-serif-4-latin-opsz-normal.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/fonts/source-serif-4-latin-ext-opsz-italic.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/fonts/source-serif-4-latin-opsz-italic.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--navy:#14202f;--paper:#e9eef3;--amber:#f2a93c;--bg:#fffcf0;--bg-subtle:#f8f5e5;--text:#100f0f;--text-muted:#5a6875;--border:#e2e6eb;--link:#100f0f;--link-underline:#f2a93c;--accent:#a96a05}.dark{--bg:#1a1d24;--bg-subtle:#22252b;--text:#d8d3c7;--text-muted:#90a0b2;--border:#2a2e36;--link:#f2a93c;--link-underline:#f2a93c;--accent:#f2a93c}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility}html.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{background:var(--bg);min-height:100vh;color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:1.125rem;font-weight:400;line-height:1.58}@media (max-width:639px){body{font-size:1.075rem;line-height:1.56}.article h1,.page-title{max-width:26ch;font-size:1.42rem;line-height:1.15}.article h2{font-size:1.32rem;line-height:1.25}.post-pager{grid-template-columns:1fr}.pager-newer{text-align:left;grid-column:1}}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.skip-link{z-index:20;background:var(--bg);color:var(--text);font-family:var(--font-body);padding:.5rem .75rem;font-size:.78rem;font-weight:620;position:absolute;top:0;left:-9999px}.skip-link:focus{top:1rem;left:1rem}.site-shell{flex-direction:column;width:min(720px,100% - 40px);min-height:100vh;margin-left:auto;margin-right:auto;display:flex}.site-header,.site-footer{font-family:var(--font-body)}.site-header{justify-content:space-between;align-items:center;padding-top:1.75rem;padding-bottom:2rem;display:flex}.site-logo{align-items:center;gap:.6rem;text-decoration:none;display:flex}.site-logo img{width:auto;height:28px}.site-logo-mark{width:28px;height:28px}.logo-dark,.dark .logo-light{display:none}.dark .logo-dark{display:block}.site-nav{letter-spacing:.025em;align-items:center;gap:1.25rem;font-size:.78rem;font-weight:620;display:flex}.site-nav a{color:var(--text);text-decoration:none}.site-nav a:hover{color:var(--accent)}.theme-toggle{width:2rem;height:2rem;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;margin:0;padding:.2rem;display:inline-flex}.theme-toggle:hover{color:var(--text);background:var(--bg-subtle)}.site-main{flex:1;padding-bottom:4rem}.site-footer{color:var(--text-muted);letter-spacing:.025em;padding-top:2rem;padding-bottom:3rem;font-size:.72rem;font-weight:550}.site-footer a{color:inherit}.intro{max-width:36em;color:var(--text-muted);margin:0 0 1.75rem;font-size:1.03rem;font-weight:520;line-height:1.58}.post-meta{color:var(--text-muted);font-family:var(--font-body);letter-spacing:.035em;margin:0;font-size:.76rem;font-weight:520;line-height:1.4}.archive-modes,.year-filter{scrollbar-width:none;font-family:var(--font-body);letter-spacing:.045em;font-variant-numeric:tabular-nums;-webkit-overflow-scrolling:touch;gap:1.35rem;margin:0 0 1.35rem;padding:0;font-size:.78rem;font-weight:580;display:flex;overflow-x:auto}.archive-modes::-webkit-scrollbar{display:none}.year-filter::-webkit-scrollbar{display:none}.archive-modes button,.year-filter button{color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:0;flex:none;margin:0;padding:.2rem 0 .55rem;transition:color .16s,font-weight .16s,transform .16s;position:relative}.archive-modes button:hover:not(:disabled),.year-filter button:hover{color:var(--text)}.archive-modes button:disabled{opacity:.4;cursor:not-allowed}.archive-modes button.is-active,.year-filter button.is-active{color:var(--text);font-weight:680}.year-filter button.is-active{transform:scale(1.08)}.archive-modes button.is-active:after,.year-filter button.is-active:after{content:"";background:var(--accent);border-radius:1px;width:1.15rem;height:3px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.archive-summary{color:var(--accent);font-family:var(--font-body);letter-spacing:.1em;text-transform:uppercase;margin:0 0 .35rem;font-size:.65rem;font-weight:650;line-height:1}.archive-heading{font-family:var(--font-body);letter-spacing:-.03em;margin:0 0 1rem;font-size:1.35rem;font-weight:650;line-height:1.05}.archive-back{color:var(--text-muted);font-family:var(--font-body);letter-spacing:.035em;cursor:pointer;background:0 0;border:0;margin:0 0 1rem;padding:0;font-size:.72rem;font-weight:600;display:inline-flex}.archive-back:hover{color:var(--accent)}.archive-list,.category-list{border-top:1px solid var(--border);margin:0;padding:0;list-style:none}.archive-item,.category-item{border:0;border-bottom:1px solid var(--border);width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.15rem 0;text-decoration:none;display:flex}.archive-item{align-items:baseline}.archive-item:hover .archive-title,.category-item:hover .category-name{color:var(--accent)}.archive-item:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.category-item:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.archive-back:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.archive-title,.category-name{min-width:0;font-family:var(--font-body);letter-spacing:-.012em;margin:0;font-size:1.06rem;font-weight:610;line-height:1.2;transition:color .16s}.category-item-main{align-items:center;gap:.85rem;min-width:0;display:flex}.category-icon{border:1px solid var(--accent);flex-shrink:0;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.category-icon{border:1px solid color-mix(in srgb,var(--accent)35%,var(--border))}}.category-icon{background:var(--accent);border-radius:.55rem}@supports (color:color-mix(in lab, red, red)){.category-icon{background:color-mix(in srgb,var(--accent)8%,transparent)}}.category-icon{color:var(--accent)}.archive-date,.category-count{color:var(--text-muted);font-family:var(--font-body);letter-spacing:.025em;font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0;font-size:.68rem;font-weight:550;line-height:1.4}.category-count{letter-spacing:.035em;font-weight:570}@media (max-width:639px){.archive-heading{font-size:1.25rem}.archive-modes,.year-filter{gap:1.1rem}}.page-title{max-width:32ch;font-family:var(--font-body);letter-spacing:-.025em;text-wrap:balance;margin:0 0 max(1.25rem,min(3vw,1.8rem));font-size:max(1.42rem,min(1.2rem + .55vw,1.8rem));font-weight:610;line-height:1.12}.article-header{margin-bottom:max(1.5rem,min(3vw,2.1rem))}.article-header h1{margin:0 0 .55rem}.article-header .post-meta{margin:0}.article .post-meta-tag{color:inherit;text-underline-offset:2px;text-decoration:none;text-decoration-thickness:1px}.article .post-meta-tag:hover{color:var(--accent);text-decoration:underline;-webkit-text-decoration-color:var(--link-underline);-webkit-text-decoration-color:var(--link-underline);-webkit-text-decoration-color:var(--link-underline);text-decoration-color:var(--link-underline);background:0 0}.share-cta{border-top:1px solid var(--border);flex-direction:column;align-items:flex-start;gap:.85rem;margin-top:3rem;padding-top:1.5rem;display:flex}.share-cta-prompt{max-width:28ch;color:var(--text);font-family:var(--font-body);letter-spacing:-.01em;text-wrap:pretty;margin:0;font-size:1.12rem;font-weight:580;line-height:1.35}.share-button{border:1px solid var(--text);background:var(--text);min-height:2.75rem;color:var(--bg);font-family:var(--font-body);letter-spacing:.01em;cursor:pointer;border-radius:0;justify-content:center;align-items:center;gap:.5rem;margin:0;padding:.65rem 1.15rem;font-size:.95rem;font-weight:620;line-height:1.2;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.share-button:hover{color:var(--text);border-color:var(--text);background:0 0}.share-button:active{transform:translateY(1px)}.article h1{max-width:32ch;font-family:var(--font-body);letter-spacing:-.025em;text-wrap:balance;margin:0;font-size:max(1.42rem,min(1.2rem + .55vw,1.8rem));font-weight:610;line-height:1.12}.article h2{font-family:var(--font-body);letter-spacing:-.018em;text-wrap:pretty;margin-top:2.5rem;margin-bottom:.85rem;font-size:max(1.34rem,min(1.18rem + .42vw,1.62rem));font-weight:610;line-height:1.24}.article h3{font-family:var(--font-body);letter-spacing:-.015em;margin-top:2rem;margin-bottom:.7rem;font-size:1.25rem;font-weight:610;line-height:1.3}.article h4{font-family:var(--font-body);letter-spacing:-.01em;margin-top:1.75rem;margin-bottom:.5rem;font-size:1.02rem;font-weight:650;line-height:1.35}.article-body{font-family:var(--font-body);color:var(--text);overflow-wrap:anywhere;hanging-punctuation:first last;font-size:20.05px;font-weight:400;line-height:32.49px}.article-body>:first-child{margin-top:0}.article-body>:last-child{margin-bottom:0}.article-body>p,.article p{font-family:var(--font-body);color:var(--text);margin:0 0 21.06px;font-size:20.05px;font-weight:500;line-height:32.49px}.article-body>ul,.article-body>ol,.article-body>blockquote,.article ul,.article ol,.article blockquote{margin-top:0;margin-bottom:21.06px}.article a{color:var(--link);text-decoration:underline;-webkit-text-decoration-color:var(--link-underline);-webkit-text-decoration-color:var(--link-underline);-webkit-text-decoration-color:var(--link-underline);text-decoration-color:var(--link-underline);text-underline-offset:3px;text-decoration-thickness:2px}.article a:hover{background:var(--bg-subtle)}.article .heading-anchor{color:inherit;text-underline-offset:unset;text-decoration:none}.article .heading-anchor:hover{background:0 0}.article .heading-anchor:hover:after{content:" #";color:var(--text-muted);font-family:var(--font-body);font-size:.8em;font-weight:550}.article ul:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){padding-left:1.25em}.article ul:not(:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){padding-left:1.25em}.article ul:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){padding-left:1.25em}.article ol:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){padding-left:1.25em}.article ol:not(:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){padding-left:1.25em}.article ol:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){padding-left:1.25em}.article ul:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-right:1.25em}.article ul:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-right:1.25em}.article ul:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-right:1.25em}.article ol:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-right:1.25em}.article ol:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-right:1.25em}.article ol:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-right:1.25em}.article li{margin-bottom:.35em}.article li ul,.article li ol{margin:.4em 0 0}.article blockquote{border-left:.18rem solid var(--accent);color:var(--text);background:0 0;margin-left:0;margin-right:0;padding:.1em 0 .1em 1.15em}@supports (color:color-mix(in lab, red, red)){.article blockquote{color:color-mix(in srgb,var(--text)78%,var(--text-muted))}}.article blockquote{font-style:italic}.article blockquote p:last-child{margin-bottom:0}.article hr{border:0;border-top:1px solid var(--text);width:3rem;margin:2.5rem 0}.article :not(pre)>code{font-family:var(--font-mono);background:var(--bg-subtle);border-radius:4px;padding:2px 6px;font-size:.9em}.article .calc-ledger{border-left:.18rem solid var(--accent);margin:0 0 1.4em;padding:.85rem 0 .85rem 1.15em}.article .calc-ledger-rows{margin:0}.article .calc-ledger-row{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.25rem 1rem;padding:.45rem 0;display:flex}.article .calc-ledger-row:first-child{padding-top:0}.article .calc-ledger-row dt{color:var(--text-muted);font-family:var(--font-body);margin:0;font-size:.92em;font-weight:500}.article .calc-ledger-row dd{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:.01em;text-align:right;margin:0;font-size:.78em;font-weight:550}.article .calc-ledger-formula,.article .calc-ledger-result{font-size:inherit;line-height:inherit;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.35rem 1rem;margin:0;display:flex}.article .calc-ledger-formula{padding:.7rem 0 .55rem}.article .calc-ledger-formula-label,.article .calc-ledger-result-label{color:var(--text-muted);font-family:var(--font-body);font-size:.92em;font-weight:500}.article .calc-ledger-formula code{font-variant-numeric:tabular-nums;letter-spacing:.02em;text-align:right;background:0 0;border-radius:0;padding:0;font-size:.78em}.article .calc-ledger-result{border-top:1px solid var(--border);padding-top:.55rem}.article .calc-ledger-result strong{color:var(--text);font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:.015em;text-align:right;font-size:.88em;font-weight:650}@media (max-width:639px){.article .calc-ledger{padding:.65rem 0 .65rem .85em}.article .calc-ledger-row,.article .calc-ledger-formula,.article .calc-ledger-result{flex-direction:column;align-items:flex-start;gap:.2rem}.article .calc-ledger-row{padding:.55rem 0}.article .calc-ledger-row dd,.article .calc-ledger-formula code,.article .calc-ledger-result strong{text-align:left;letter-spacing:0}.article .calc-ledger-formula{padding:.75rem 0 .65rem}}.article table{border-collapse:collapse;width:100%;margin:0 0 1.05em;font-size:.95em}.article th,.article td{border:1px solid var(--border);text-align:left;padding:.45em .7em}.article th{font-family:var(--font-body);background:var(--bg-subtle);font-size:.76rem;font-weight:620}.article .article-figure{margin:max(1.7rem,min(5vw,3.2rem)) auto}.article .article-figure img{border:1px solid var(--border);border-radius:max(.5rem,min(1.5vw,1rem));width:100%;height:auto;display:block}.article .article-figure figcaption{color:var(--text-muted);font-family:var(--font-body);letter-spacing:.025em;text-align:center;margin-top:.55rem;font-size:.72rem;font-weight:550}.article .footnotes{border-top:1px solid var(--border);color:var(--text-muted);margin-top:3rem;padding-top:1.5rem;font-size:.92em}.article .sr-only{clip:rect(0,0,0,0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.post-pager{border-top:1px solid var(--border);font-family:var(--font-body);grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:2.5rem;padding-top:1.5rem;display:grid}.post-pager a{color:var(--text);flex-direction:column;gap:.2rem;font-weight:580;text-decoration:none;display:flex}.post-pager a:hover{color:var(--accent)}.pager-newer{text-align:right;grid-column:2}.post-pager a>span:last-child{font-family:var(--font-body);letter-spacing:-.012em;font-size:1.06rem;font-weight:610;line-height:1.2}.code-block{width:100%;margin:0 0 1.75em;position:relative}.article figure[data-rehype-pretty-code-figure]{margin:0}.article [data-rehype-pretty-code-title]{color:#ccc;font-family:var(--font-body);background:#252526;border-radius:10px 10px 0 0;margin:0;padding:.55rem 1.15rem;font-size:13px;font-weight:500}.article figure[data-rehype-pretty-code-figure]:has(>[data-rehype-pretty-code-title]) .code-block pre{border-radius:0 0 10px 10px}.code-block pre{font-family:var(--font-mono);background:#1e1e1e;border-radius:10px;margin:0;padding:1.15rem 0;font-size:14.5px;line-height:1.7;overflow-x:auto}.code-block code{display:grid;background:0 0!important}.code-block [data-line]{border-left:2px solid transparent;padding:0 1.15rem}.code-block code[data-line-numbers]{counter-reset:line}.code-block code[data-line-numbers]>[data-line]:before{counter-increment:line;content:counter(line);color:#858585;text-align:right;width:1.25rem;margin-right:1.25rem;display:inline-block}.code-block code[data-line-numbers-max-digits="2"]>[data-line]:before{width:1.5rem}.code-block code[data-line-numbers-max-digits="3"]>[data-line]:before{width:1.85rem}.code-block [data-highlighted-line]{background:rgba(38,79,120,.45);border-left-color:#007acc}.code-block [data-highlighted-chars]{background:rgba(38,79,120,.55);border-radius:4px;box-shadow:0 0 0 4px rgba(38,79,120,.55)}.copy-button{z-index:1;color:#858585;font-family:var(--font-body);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;opacity:0;background:0 0;border:0;border-radius:6px;padding:.2rem .5rem;font-size:12px;font-weight:500;position:absolute;top:.65rem;right:.65rem}.code-block:hover .copy-button{opacity:1}.copy-button:focus-visible{opacity:1}@media (hover:none){.copy-button{opacity:1}}.copy-button:hover{color:#e8eaf2;background:rgba(255,255,255,.08)}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 transparent}@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 transparent}@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 transparent}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 transparent}@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 transparent}@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}
