blockquote:is(.author,.poem) p,h1.dynamic-title{font-family:var(--f-title);font-style:italic}@supports not (aspect-ratio:1){blockquote.author p,blockquote.poem p,h1.dynamic-title{font-family:var(--f-title);font-style:italic}}#toc-popup:before,body:after{content:"";z-index:-1;pointer-events:none;background:url(/assets/img/paper-grey.png) 0 0/100px 100px;position:absolute;inset:0}h1.dynamic-title{-webkit-text-fill-color:transparent;color:unset;background:var(--title);-webkit-box-decoration-break:clone;box-decoration-break:clone;-webkit-background-clip:text;background-clip:text}#toc-bar .label,h1,h2,h3,h4,h5{color:var(--heading);margin-top:0;margin-bottom:calc(.25 * var(--line));font-weight:400;line-height:1.2}.table-wrapper>table :is(th,td){padding:calc(.25 * var(--line)) calc(.5 * var(--line));white-space:nowrap}@supports not (aspect-ratio:1){.table-wrapper>table th,.table-wrapper>table td{padding:calc(.25 * var(--line)) calc(.5 * var(--line));white-space:nowrap}}a{color:inherit}.highlight,div[class^=language-]{border-radius:calc(.125 * var(--line))}.cover-img>figcaption,.media>:is(figcaption,em),.carousel-card>figcaption,.embed-audio+em{text-align:end;font-family:var(--f-sans);font-size:.756em;font-style:normal;line-height:var(--leading);color:var(--caption)}@supports not (aspect-ratio:1){.cover-img>figcaption,.media>figcaption,.media>em,.carousel-card>figcaption,.embed-audio+em{text-align:end;font-family:var(--f-sans);font-size:.756em;font-style:normal;line-height:var(--leading);color:var(--caption)}}@media (max-width:47.624em){.cover-img>figcaption,.media>:is(figcaption,em),.carousel-card>figcaption,.embed-audio+em{font-size:.658em}@supports not (aspect-ratio:1){.cover-img>figcaption,.media>figcaption,.media>em,.carousel-card>figcaption,.embed-audio+em{font-size:.658em}}}.embed-audio+em{margin-top:var(--gap-in);padding:0;display:block}#toc-popup .toc-header .label,#toc-bar .label,#topbar #breadcrumb{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}footer a{color:var(--hi);font-weight:600}sup:target,.footnotes>ol>li:target{background-color:var(--hit);border-radius:calc(.125 * var(--line));width:fit-content;transition:background-color 1.75s cubic-bezier(.645,.045,.355,1)}#toc-popup .toc-header button i,#toc-bar button i{color:var(--soft)}div[class^=language-]{background-color:var(--tint)}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--g100:#fff;--g96:#f3f3f3;--g94:#eaeaea;--g91:#dee2e6;--g87:#d7d5d3;--g85:#cecdcd;--g82:#c5c5c5;--g78:#b8b8b8;--g76:#b0b0b0;--g74:#afa8a8;--g68:#999;--g65:#8e8e8e;--g62:#868686;--g60:gray;--g56:#757575;--g53:#6d6c6c;--g52:#686868;--g46:#585858;--g43:#4f4f4f;--g38:#424242;--g34:#373737;--g30:#2c2d2d;--g27:#262626;--g0:#000;--bg:var(--lightningcss-light,var(--g100))var(--lightningcss-dark,var(--g0));--border:var(--lightningcss-light,var(--g96))var(--lightningcss-dark,var(--g30));--accent:var(--lightningcss-light,#0d6efd)var(--lightningcss-dark,#fd7e14);--accent2:var(--lightningcss-light,#0056b2)var(--lightningcss-dark,#c67839);--fg:var(--lightningcss-light,var(--g53))var(--lightningcss-dark,var(--g78));--title:linear-gradient(to bottom right, var(--lightningcss-light,#4f4f4f)var(--lightningcss-dark,#d7d5d3) 30%, var(--lightningcss-light,#4f4f4f4c)var(--lightningcss-dark,#d7d5d34d));--muted:var(--lightningcss-light,var(--g56))var(--lightningcss-dark,var(--g62));--hi:var(--lightningcss-light,currentColor)var(--lightningcss-dark,#aeaeae);--heading:var(--lightningcss-light,var(--g43))var(--lightningcss-dark,var(--g82));--icon:var(--lightningcss-light,var(--g65))var(--lightningcss-dark,var(--g56));--quote-bd:var(--lightningcss-light,var(--g96))var(--lightningcss-dark,var(--g38));--quote:var(--g62);--link-bd:var(--lightningcss-light,var(--g91))var(--lightningcss-dark,var(--g34));--check:var(--lightningcss-light,var(--g82))var(--lightningcss-dark,var(--g56));--img-bg:radial-gradient(circle, var(--lightningcss-light,#fff)var(--lightningcss-dark,#161618) 0%, var(--lightningcss-light,#efefef)var(--lightningcss-dark,#202020) 100%);--shimmer:linear-gradient(90deg, var(--lightningcss-light,#fafafa00)var(--lightningcss-dark,#fff0) 0%, var(--lightningcss-light,#e8e6e6)var(--lightningcss-dark,#3a373766) 50%, var(--lightningcss-light,#fafafa00)var(--lightningcss-dark,#fff0) 100%);--select:#0000;--logo:var(--lightningcss-light,var(--g52))var(--lightningcss-dark,var(--g74));--sub:var(--lightningcss-light,var(--g53))var(--lightningcss-dark,var(--g62));--hover:var(--lightningcss-light,#dfe9f1a3)var(--lightningcss-dark,#262626);--ring:var(--lightningcss-light,#f1f1f1)var(--lightningcss-dark,#cececee6);--toc-bd:var(--lightningcss-light,var(--g87))var(--lightningcss-dark,var(--g34));--shadow:var(--lightningcss-light,#d3d1d126)var(--lightningcss-dark,#8987873d) 0 0 0 1px;--hit:var(--lightningcss-light,#e0ffff)var(--lightningcss-dark,#3f51b5);--rule:var(--lightningcss-light,var(--g94))var(--lightningcss-dark,var(--g27));--thumb:var(--lightningcss-light,#0000001a)var(--lightningcss-dark,#ffffff1f);--code-bd:var(--lightningcss-light,#ececec)var(--lightningcss-dark,#2d2d2d);--code-fg:var(--lightningcss-light,#6c6060fc)var(--lightningcss-dark,#d2bcae);--code-bg:var(--lightningcss-light,#19191c0d)var(--lightningcss-dark,#ffffff0d);--code:var(--lightningcss-light,var(--g34))var(--lightningcss-dark,var(--g76));--path:var(--lightningcss-light,var(--g46))var(--lightningcss-dark,var(--g85));--caption:var(--g53);--soft:var(--g68);--tint:#d5cdc01a;--page-on:#968e821a;--tip-bg:#101010f2;--on-dark:var(--g100);--chip:#8787870d;--range:#8787871c}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root blockquote:is(.tip,.info,.key,.warn,.risk):not(.author),:root #line .line-warning{--link-bd:var(--lightningcss-light,#dbd8d8)var(--lightningcss-dark,#3c3c3c);--note-fg:var(--lightningcss-light,#2e2e2ec4)var(--lightningcss-dark,#d8d4d4bf)}@supports not (aspect-ratio:1){:root blockquote.tip:not(.author),:root blockquote.info:not(.author),:root blockquote.key:not(.author),:root blockquote.warn:not(.author),:root blockquote.risk:not(.author),:root #line .line-warning{--link-bd:var(--lightningcss-light,#dbd8d8)var(--lightningcss-dark,#3c3c3c);--note-fg:var(--lightningcss-light,#2e2e2ec4)var(--lightningcss-dark,#d8d4d4bf)}}:root blockquote.tip{--note-bg:var(--lightningcss-light,#7bf7901a)var(--lightningcss-dark,#163c244d);--note-icon:var(--lightningcss-light,#03b303)var(--lightningcss-dark,#0fa40ff2);--note-bd:#238636}:root blockquote.info{--note-bg:var(--lightningcss-light,#e1f5fe4d)var(--lightningcss-dark,#073b6859);--note-icon:var(--lightningcss-light,#0070cb)var(--lightningcss-dark,#0075d1);--note-bd:#1f6feb}:root blockquote.key{--note-bg:var(--lightningcss-light,#e9e7ff4d)var(--lightningcss-dark,#e9e7ff33);--note-icon:#8957e5;--note-bd:#8957e5}:root blockquote.warn,:root #line .line-warning{--note-bg:var(--lightningcss-light,#fff3cd4d)var(--lightningcss-dark,#5a45034d);--note-icon:var(--lightningcss-light,orange)var(--lightningcss-dark,#ffa500cc);--note-bd:var(--lightningcss-light,#ef9c03)var(--lightningcss-dark,orange)}:root blockquote.risk{--note-bg:var(--lightningcss-light,#f8d7da4d)var(--lightningcss-dark,#561c0859);--note-icon:var(--lightningcss-light,#df3c30)var(--lightningcss-dark,#cd0202);--note-bd:#da3633}:root .highlight,:root #line pre{--lineno:var(--lightningcss-light,var(--g68))var(--lightningcss-dark,var(--g60));--const:var(--lightningcss-light,#36a3d9)var(--lightningcss-dark,#e6b450);--comment:var(--lightningcss-light,#828c99)var(--lightningcss-dark,#5c6773);--pre:var(--lightningcss-light,#828c99)var(--lightningcss-dark,#e6b450);--err:var(--lightningcss-light,#fafafa)var(--lightningcss-dark,#0f1419);--err-bg:var(--lightningcss-light,#f51818)var(--lightningcss-dark,#f33);--fn:#f29718;--del:var(--lightningcss-light,#f51818)var(--lightningcss-dark,#f33);--del-bg:var(--lightningcss-light,#fee)var(--lightningcss-dark,#311);--head:#36a3d9;--head-bg:var(--lightningcss-light,#0000)var(--lightningcss-dark,#0f1419);--ins:var(--lightningcss-light,#86b300)var(--lightningcss-dark,#b8cc52);--ins-bg:var(--lightningcss-light,#efe)var(--lightningcss-dark,#0000);--prompt:var(--lightningcss-light,#828c99)var(--lightningcss-dark,#87939d);--kw:#f73;--type:var(--lightningcss-light,#f73)var(--lightningcss-dark,#e6b450);--num:var(--lightningcss-light,#36a3d9)var(--lightningcss-dark,#b8cc52);--attr:var(--lightningcss-light,#86b300)var(--lightningcss-dark,#36a3d9);--class:#e6b450;--deco:#a37acc;--exc:var(--lightningcss-light,#36a3d9)var(--lightningcss-dark,#f73);--tag:var(--lightningcss-light,#86b300)var(--lightningcss-dark,#e6b450);--var:#36a3d9;--op:var(--lightningcss-light,#f73)var(--lightningcss-dark,#e6e1cf);--str:var(--lightningcss-light,#86b300)var(--lightningcss-dark,#b8cc52);--esc:var(--lightningcss-light,#86b300)var(--lightningcss-dark,#f07178);--interp:#f07178;--regex:var(--lightningcss-light,#86b300)var(--lightningcss-dark,#95e6cb);--ink:var(--lightningcss-light,#5c6773)var(--lightningcss-dark,#e6e1cf)}:root .code-header{--icon:var(--lightningcss-light,#c9c8c8)var(--lightningcss-dark,#565656);--label:var(--lightningcss-light,#a3a3a3)var(--lightningcss-dark,#6a6a6a);--copied:var(--lightningcss-light,#43c743)var(--lightningcss-dark,#2bcc2b)}:root .diagram{--pele-bg:var(--bg);--pele-fg:var(--fg);--pele-muted:var(--muted);--pele-line:var(--muted);--pele-surface:var(--code-bg);--pele-surface-alt:var(--border);--pele-border:var(--border);--pele-accent:var(--accent);--pele-series-1:#1f6feb;--pele-series-2:var(--lightningcss-light,#ef9c03)var(--lightningcss-dark,orange);--pele-series-3:#238636;--pele-series-4:#8957e5;--pele-series-5:#da3633;--pele-series-6:#36a3d9;--pele-series-7:#f07178;--pele-series-8:var(--muted)}:root .card{--fill:var(--lightningcss-light,#ffffff63)var(--lightningcss-dark,#ffffff4a);--title-shadow:var(--lightningcss-light,#0000001f)var(--lightningcss-dark,#00000080);--stroke:var(--lightningcss-light,var(--g56))var(--lightningcss-dark,var(--g85));--shine:var(--lightningcss-light,var(--g53))var(--lightningcss-dark,var(--g68));--shine-edge:var(--lightningcss-light,var(--g60))var(--lightningcss-dark,color-mix(in srgb, var(--g68) 35%, transparent));--meta:var(--lightningcss-light,var(--g78))var(--lightningcss-dark,var(--g43));--dot:var(--lightningcss-light,#f51818)var(--lightningcss-dark,#f33)}:root #line{--faint:var(--lightningcss-light,var(--g76))var(--lightningcss-dark,var(--g46));--hint:var(--lightningcss-light,var(--g82))var(--lightningcss-dark,var(--g27));--like:red}:root kbd{--bg:var(--lightningcss-light,var(--g100))var(--lightningcss-dark,var(--g27));--border:var(--lightningcss-light,var(--g78))var(--lightningcss-dark,var(--g52))}:root .video-frame{--glass:#0000008c;--glass-hover:#ffffff26;--glass-faint:#ffffff4d;--screen:var(--g0)}:root[data-switching] *,:root[data-switching] :before,:root[data-switching] :after{transition:none!important}@media (prefers-color-scheme:light){.img-link.dark{display:none!important}}@media (prefers-color-scheme:dark){.img-link.light{display:none!important}}:root{scroll-padding-top:calc(3rem + .25 * var(--line));font-size:clamp(100%,93.75% + .25vw,112.5%)}@media (min-width:75em){:root{scroll-padding-top:calc(1.25 * var(--line))}}@media (prefers-reduced-motion:no-preference){:root.touched{scroll-behavior:smooth}}:root{--f-ui:ui-sans-serif, system-ui, sans-serif;--f-serif:"Newsreader", serif;--f-sans:-apple-system, "BlinkMacSystemFont", "Inter Display", sans-serif;--f-mono:"JetBrains Mono", ui-monospace, sfmono-regular, monospace;--f-title:"Domaine Display Narrow", serif;--f-date:"Helvetica Neue", sans-serif;overflow-y:scroll}@supports not selector(::-webkit-scrollbar){:root{scrollbar-color:var(--thumb) transparent}*{scrollbar-width:thin}}::-webkit-scrollbar{width:var(--bar);height:var(--bar)}::-webkit-scrollbar-track{background-color:#0000}::-webkit-scrollbar-corner{background-color:#0000}::-webkit-scrollbar-thumb{min-width:var(--line);min-height:var(--line);border:1px solid var(--thumb);background-color:#0000;border-radius:2px}:where(iframe){border:0}@supports not (aspect-ratio:1){iframe{border:0}}.photo,.cover{vertical-align:bottom}:where(button){font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}@supports not (aspect-ratio:1){button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}}:where(button):active{transition-duration:0s}@supports not (aspect-ratio:1){button:active{transition-duration:0s}}body{background:var(--bg);padding-block:env(safe-area-inset-top) env(safe-area-inset-bottom);color:var(--fg);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent;font-family:var(--f-sans);text-rendering:optimizelegibility;margin:0;position:relative;overflow-x:clip}h1.dynamic-title{padding-inline-start:.1em;transform:translate(-.1em)}.sr-only{clip-path:inset(50%);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.preview-img{aspect-ratio:4/3;width:100%;height:100%;position:relative;overflow:hidden}.preview-img.cover{aspect-ratio:40/21;height:auto}.preview-img:before{content:"";opacity:.3;background-image:var(--lqip);pointer-events:none;background-position:50%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0}.preview-img img{object-fit:cover;width:100%;margin:0;position:relative}.content{overflow-wrap:break-word;font-feature-settings:"kern" 1, "liga" 1, "calt" 1;font-kerning:normal;font-weight:400;container-type:inline-size}.content .photo{-webkit-user-select:none;user-select:none}.content a:not(.img-link),#line .line-content a:not(.img-link){text-decoration:underline;-webkit-text-decoration-color:var(--link-bd);text-decoration-color:var(--link-bd);text-underline-offset:2px;text-decoration-thickness:1px;transition-property:color,text-decoration-color;transition-duration:.3s;transition-timing-function:cubic-bezier(.645,.045,.355,1);position:relative}@media (hover:hover){.content a:not(.img-link):hover,#line .line-content a:not(.img-link):hover{text-decoration:underline;-webkit-text-decoration-color:var(--accent2);text-decoration-color:var(--accent2);text-underline-offset:2px;text-decoration-thickness:1px}}:where(:root[data-hover]) .content a:not(.img-link):hover,:where(:root[data-hover]) #line .line-content a:not(.img-link):hover{text-decoration:underline;-webkit-text-decoration-color:var(--accent2);text-decoration-color:var(--accent2);text-underline-offset:2px;text-decoration-thickness:1px}@supports not (aspect-ratio:1){:root[data-hover] .content a:not(.img-link):hover,:root[data-hover] #line .line-content a:not(.img-link):hover{text-decoration:underline;-webkit-text-decoration-color:var(--accent2);text-decoration-color:var(--accent2);text-underline-offset:2px;text-decoration-thickness:1px}}.content a[href^=http]:not([href^="https://stevehoang.com"],:has(img),:has(svg)){padding-right:.5em}#line .line-content a[href^=http]:not([href^="https://stevehoang.com"],:has(img),:has(svg)){padding-right:.5em}.content a[href^=http]:not([href^="https://stevehoang.com"],:has(img),:has(svg)):after{content:""/", external";aspect-ratio:1;background-color:var(--accent2);width:.28em;margin-left:.01em;position:absolute;bottom:.9em;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M.8 .8H9.2V9.2' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M.8 .8H9.2V9.2' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}#line .line-content a[href^=http]:not([href^="https://stevehoang.com"],:has(img),:has(svg)):after{content:""/", external";aspect-ratio:1;background-color:var(--accent2);width:.28em;margin-left:.01em;position:absolute;bottom:.9em;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M.8 .8H9.2V9.2' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M.8 .8H9.2V9.2' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}@supports (width:round(1em, 1px)){.content a[href^=http]:not([href^="https://stevehoang.com"],:has(img),:has(svg)):after{width:round(.28em,1px)}#line .line-content a[href^=http]:not([href^="https://stevehoang.com"],:has(img),:has(svg)):after{width:round(.28em,1px)}}@supports not (content:""/""){.content a[href^=http]:not([href^="https://stevehoang.com"],:has(img),:has(svg)):after{content:""}#line .line-content a[href^=http]:not([href^="https://stevehoang.com"],:has(img),:has(svg)):after{content:""}}.content ol:not([class]),.content ol.task-list,.content ul:not([class]),.content ul.task-list{padding-inline-start:var(--line)}.content ol:not([class]) li,.content ol.task-list li,.content ul:not([class]) li,.content ul.task-list li{margin:calc(.125 * var(--line)) 0;padding-left:calc(.125 * var(--line))}:is(.content ol:not([class]) li:has(>p)+li,.content ol.task-list li:has(>p)+li,.content ul:not([class]) li:has(>p)+li,.content ul.task-list li:has(>p)+li){margin-top:calc(.5 * var(--line))}.content ol:not([class]) ol,.content ol:not([class]) ul,.content ol.task-list ol,.content ol.task-list ul,.content ul:not([class]) ol,.content ul:not([class]) ul,.content ul.task-list ol,.content ul.task-list ul{margin:calc(.25 * var(--line)) 0;padding-inline-start:calc(.75 * var(--line))}.content .task-list li>i{width:2em;color:var(--check)}.content .task-list li>i.checked{color:var(--accent2)}.content ul.task-list{padding-inline-start:calc(.75 * var(--line))}.content ul.task-list li{padding-left:0;list-style-type:none}.content ul.task-list li>i{margin-left:calc(-.75 * var(--line))}.content ul.task-list li ul{padding-inline-start:var(--line)}.content dl>dd{margin-left:calc(.5 * var(--line))}.content ::marker{color:var(--muted)}.img-link{color:#0000;max-width:100%;display:inline-flex;overflow:hidden}.img-link>img{display:block}img[data-wait]{background:var(--img-bg)}.shimmer{background:var(--img-bg);position:relative;overflow:hidden}@media (prefers-reduced-motion:no-preference){.shimmer:before{content:"";background:var(--shimmer);width:100%;height:100%;animation:1.3s linear infinite shimmer;position:absolute}}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}#main-wrapper>.container{flex-direction:column;min-height:100vh;display:flex}#tail-wrapper>*{margin-top:calc(3 * var(--line))}*,:after,:before{box-sizing:border-box}::placeholder{color:var(--icon)}:focus::placeholder{opacity:.6}@media (forced-colors:active){:focus-visible{outline-color:highlight}:is(#toc-popup,#post-list .card,div[class^=language-],.tooltip),#line .line-content pre{border:1px solid #0000}@supports not (aspect-ratio:1){#toc-popup,#post-list .card,div[class^=language-],.tooltip,#line .line-content pre{border:1px solid #0000}}}h1,h2,h3,h4,h5,h6{font-family:var(--f-sans)}h1 em strong,h1 em b,h2 em strong,h2 em b,h3 em strong,h3 em b,h4 em strong,h4 em b,h5 em strong,h5 em b,h6 em strong,h6 em b{font-weight:500}code,pre,kbd,samp{font-family:var(--f-mono)}h1{font-size:2.011rem}.content h1{font-size:2.011em}h2{font-size:1.322rem}.content h2{font-size:1.322em}h3{font-size:1.15rem;font-weight:500}.content h3{font-size:1.15em}h4{font-size:1rem;font-weight:500}.content h4{font-size:1em}h5{font-size:1rem}.content h5{font-size:1em}strong,b{font-weight:600}p{margin-top:0;margin-bottom:1em}dt{font-weight:600}dd{margin-bottom:calc(.25 * var(--line));margin-left:0}a{text-decoration:none}em{font-family:var(--f-serif);font-size:1.15em;font-style:italic;font-weight:400;line-height:0}::selection{background-color:var(--select)}img{max-width:100%;height:auto;transition:filter .3s cubic-bezier(.645,.045,.355,1)}.blur img{filter:blur(20px)}table{border-collapse:collapse}blockquote{margin-block:calc(.5 * var(--line)) 1em;border-left:.2em solid var(--quote-bd);padding-left:calc(.5 * var(--line));color:var(--quote);position:relative}blockquote>p:last-child{margin-bottom:0}blockquote:is(.author,.poem){width:fit-content;max-width:min(var(--prose), 100%);padding:calc(.5 * var(--line)) min(2 * var(--line), 6vw);border:none;justify-self:center;margin-inline:auto}@supports not (aspect-ratio:1){blockquote.author,blockquote.poem{width:fit-content;max-width:min(var(--prose), 100%);padding:calc(.5 * var(--line)) min(2 * var(--line), 6vw);border:none;justify-self:center;margin-inline:auto}}blockquote:is(.author,.poem) p{text-align:start;font-size:1.15em;line-height:var(--leading)}@supports not (aspect-ratio:1){blockquote.author p,blockquote.poem p{text-align:start;font-size:1.15em;line-height:var(--leading)}}blockquote.author>p:last-child{font-family:var(--f-serif);text-align:end;opacity:.8;color:var(--accent2);font-size:1em;font-style:italic}blockquote.author>p:last-child:before{content:"— ";font-family:var(--f-ui);color:var(--quote)}blockquote:is(.tip,.info,.key,.warn,.risk):not(.author){background-color:var(--note-bg);border-left:.2em solid var(--note-bd);padding:calc(.5 * var(--line)) calc(.75 * var(--line)) calc(.5 * var(--line)) calc(.5 * var(--line));color:var(--note-fg)}@supports not (aspect-ratio:1){blockquote.tip:not(.author),blockquote.info:not(.author),blockquote.key:not(.author),blockquote.warn:not(.author),blockquote.risk:not(.author){background-color:var(--note-bg);border-left:.2em solid var(--note-bd);padding:calc(.5 * var(--line)) calc(.75 * var(--line)) calc(.5 * var(--line)) calc(.5 * var(--line));color:var(--note-fg)}}blockquote:is(.tip,.info,.key,.warn,.risk):not(.author)>p:last-child:after{content:"";margin-left:calc(.25 * var(--line))}@supports not (aspect-ratio:1){blockquote.tip:not(.author)>p:last-child:after,blockquote.info:not(.author)>p:last-child:after,blockquote.key:not(.author)>p:last-child:after,blockquote.warn:not(.author)>p:last-child:after,blockquote.risk:not(.author)>p:last-child:after{content:"";margin-left:calc(.25 * var(--line))}}blockquote:is(.tip,.info,.key,.warn,.risk):not(.author)>.icons{color:var(--note-icon);position:absolute;bottom:1em;right:.75em}@supports not (aspect-ratio:1){blockquote.tip:not(.author)>.icons,blockquote.info:not(.author)>.icons,blockquote.key:not(.author)>.icons,blockquote.warn:not(.author)>.icons,blockquote.risk:not(.author)>.icons{color:var(--note-icon);position:absolute;bottom:1em;right:.75em}}blockquote.info>.icons svg{transform-origin:50%;transform:rotate(180deg)}kbd{padding:calc(.125 * var(--line)) calc(.25 * var(--line));vertical-align:middle;text-align:center;min-width:2em;margin:0 calc(.125 * var(--line));color:var(--fg);background-color:var(--bg);border-radius:calc(.125 * var(--line));border:solid 1px var(--border);box-shadow:inset 0 -1.5px 0 var(--border);font-size:.87em;line-height:calc(.8125 * var(--line));-moz-osx-font-smoothing:grayscale;font-weight:500;display:inline-block;position:relative}hr{margin-block:calc(.5 * var(--line));color:inherit;border:.1px solid var(--border)}img,svg{vertical-align:middle}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}:focus:not(:focus-visible){outline:none}dl,ol,ul{margin-top:0;margin-bottom:1em}i.icons{fill:currentColor;vertical-align:-.125em;-webkit-user-select:none;user-select:none;width:1em;height:1em;display:inline-block}i.icons svg{width:100%;height:100%;display:block}i.icons.fa-fw{text-align:center;width:1.25em}i.mark{vertical-align:-.4em;background-color:var(--chip);border-radius:calc(.2 * var(--line));width:1.5em;height:1.5em;margin-inline-end:.5em;padding:.25em}li:has(>i.mark:first-child){list-style:none}li:has(>i.mark:first-child)>i.mark{margin-inline-start:-2em}sup{vertical-align:baseline;font-size:.756em;line-height:0;position:relative;top:-.5em}main{line-height:var(--leading)}main h1{margin-top:calc(1.5 * var(--line));margin-bottom:calc(.5 * var(--line))}main p>.photo{width:fit-content;margin-inline:auto;display:block}.footnotes>ol{padding-left:var(--line)}.footnotes>ol>li{padding-left:calc(.125 * var(--line))}.footnotes>ol>li:not(:last-child){margin-bottom:calc(.125 * var(--line))}.footnotes>ol>li>p{margin-left:.25em}a.footnote{color:var(--accent2);margin-inline:1px;padding-inline:2px;text-decoration:none!important}a.reversefootnote{color:var(--accent2);margin-left:.25em;font-size:.572em;line-height:1;position:relative;bottom:.25em;text-decoration:none!important}.table-wrapper{overflow-x:auto}.table-wrapper>table{min-width:100%;font-size:.87em;line-height:var(--leading);font-variant-numeric:lining-nums tabular-nums}.table-wrapper>table th{color:var(--muted);text-align:start;vertical-align:bottom;font-weight:500}.table-wrapper>table thead{border-bottom:1px solid var(--rule)}.table-wrapper>table tbody tr{transition:opacity .3s cubic-bezier(.645,.045,.355,1),color .3s cubic-bezier(.645,.045,.355,1)}@media (hover:hover){.table-wrapper>table tbody:hover tr{opacity:.3}.table-wrapper>table tbody tr:hover{opacity:1;transition-duration:0s}}:where(:root[data-hover]) .table-wrapper>table tbody:hover tr{opacity:.3}@supports not (aspect-ratio:1){:root[data-hover] .table-wrapper>table tbody:hover tr{opacity:.3}}:where(:root[data-hover]) .table-wrapper>table tbody tr:hover{opacity:1;transition-duration:0s}@supports not (aspect-ratio:1){:root[data-hover] .table-wrapper>table tbody tr:hover{opacity:1;transition-duration:0s}}@media (prefers-reduced-motion:no-preference){.table-wrapper>table tbody tr{transition:background-color .3s cubic-bezier(.645,.045,.355,1),opacity .3s cubic-bezier(.645,.045,.355,1),color .3s cubic-bezier(.645,.045,.355,1)}}@media (hover:hover){.table-wrapper>table tbody tr:hover{background-color:var(--chip);color:var(--heading)}}:where(:root[data-hover]) .table-wrapper>table tbody tr:hover{background-color:var(--chip);color:var(--heading)}@supports not (aspect-ratio:1){:root[data-hover] .table-wrapper>table tbody tr:hover{background-color:var(--chip);color:var(--heading)}}.table-wrapper>table tbody tr+tr{border-top:1px solid var(--rule)}h1,h2,h3,h4{text-wrap:balance}.highlighter-rouge,#line .line-content :not(pre)>code{color:var(--code-fg)}.highlight{color:var(--ink);font-size:.87em;line-height:var(--leading)}@supports (animation-timeline:scroll()){.highlight{-webkit-mask-image:linear-gradient(to right, transparent, black var(--fade-l), black calc(100% - var(--fade-r)), transparent);mask-image:linear-gradient(to right, transparent, black var(--fade-l), black calc(100% - var(--fade-r)), transparent);animation:linear both scroll-fade;animation-timeline:scroll(self inline)}}.highlight{padding-top:calc(.25 * var(--line));padding-bottom:calc(.5 * var(--line));overflow:auto}.highlight pre{line-height:calc(.875 * var(--line))}.highlight table td:first-child{margin-left:calc(.5 * var(--line));margin-right:calc(.5 * var(--line));display:inline-block}.highlight table td:last-child{padding-right:var(--line)!important}.highlight table td pre{word-break:normal;overflow:visible}.highlight .lineno{text-align:right;color:var(--lineno);-webkit-user-select:none;user-select:none}code{-webkit-hyphens:none;hyphens:none;color:var(--code)}code.highlighter-rouge,#line .line-content :not(pre)>code{font-size:.87em;line-height:var(--leading);padding:1px calc(.25 * var(--line));overflow-wrap:break-word;border-radius:calc(.125 * var(--line));background-color:var(--code-bg)}code.path{background-color:inherit;color:var(--path);padding:0;font-weight:600}a>code.highlighter-rouge,#line .line-content a>code{color:inherit;padding-bottom:0}blockquote code{color:inherit}div[class^=language-]{box-shadow:var(--code-bd) 0 0 0 1px}@supports (animation-timeline:scroll()){div[class^=language-]:has(>.highlight:focus-visible){outline:2px solid var(--accent);outline-offset:2px}div[class^=language-]>.highlight:focus-visible{outline:none}}div[class^=language-]{background-image:linear-gradient(var(--tint), var(--tint));background-position:0 calc(1.375 * var(--line));background-repeat:no-repeat}div[class^=language-] .code-header:before{content:""}div[class^=language-] .highlight{border-top-left-radius:0;border-top-right-radius:0}div.nolines td:first-child,div.language-plaintext td:first-child,div.language-console td:first-child{margin-right:0;padding:0!important}div.nolines td:first-child .lineno,div.language-plaintext td:first-child .lineno,div.language-console td:first-child .lineno{display:none}.code-header{-webkit-user-select:none;user-select:none;height:calc(1.375 * var(--line));justify-content:space-between;align-items:center;display:flex}.code-header [data-label-text]{line-height:calc(1.375 * var(--line))}.code-header [data-label-text] i{width:1.75em;color:var(--icon);font-size:1rem}[file] .code-header [data-label-text]>i{position:relative;top:1px}.code-header [data-label-text]:after{content:attr(data-label-text);color:var(--label);font-size:.87rem;font-weight:600}.code-header button{border-radius:calc(.125 * var(--line));height:calc(1.25 * var(--line));width:calc(1.25 * var(--line));margin:calc(.125 * var(--line));color:var(--icon)}.code-header button i{font-size:1rem}.code-header button[timeout]{color:var(--copied)}.code-header button:not([timeout]){transition-property:color;transition-duration:.3s;transition-timing-function:cubic-bezier(.645,.045,.355,1)}@media (hover:hover){.code-header button:not([timeout]):hover{color:var(--accent)!important}}:where(:root[data-hover]) .code-header button:not([timeout]):hover{color:var(--accent)!important}@supports not (aspect-ratio:1){:root[data-hover] .code-header button:not([timeout]):hover{color:var(--accent)!important}}.code-header button:not([timeout]):active{transition-duration:0s;color:var(--accent)!important}.highlight table td{padding:calc(.25 * var(--line))}.highlight table pre{margin:0}.highlight :is(.bp,.kc,.nl,.py),#line .token:is(.boolean,.symbol,.property){color:var(--const)}@supports not (aspect-ratio:1){.highlight .bp,.highlight .kc,.highlight .nl,.highlight .py,#line .token.boolean,#line .token.symbol,#line .token.property{color:var(--const)}}.highlight :is(.c,.c1,.cm),#line .token:is(.comment,.cdata){color:var(--comment)}@supports not (aspect-ratio:1){.highlight .c,.highlight .c1,.highlight .cm,#line .token.comment,#line .token.cdata{color:var(--comment)}}.highlight .cp,#line .token:is(.prolog,.doctype){color:var(--pre)}@supports not (aspect-ratio:1){.highlight .cp,#line .token.prolog,#line .token.doctype{color:var(--pre)}}.highlight .err{color:var(--err);background-color:var(--err-bg)}.highlight :is(.fm,.nf),#line .token:is(.function,.function-name){color:var(--fn)}@supports not (aspect-ratio:1){.highlight .fm,.highlight .nf,#line .token.function,#line .token.function-name{color:var(--fn)}}.highlight .gd,#line .token.deleted{color:var(--del);background-color:var(--del-bg)}.highlight .ge,#line .token.italic{color:var(--ink);font-style:italic}.highlight .gh{color:var(--head);background-color:var(--head-bg);font-weight:700}.highlight .gi,#line .token.inserted{color:var(--ins);background-color:var(--ins-bg)}.highlight .gp{color:var(--prompt)}.highlight .gs,#line .token.bold{color:var(--ink);font-weight:700}.highlight .gu{color:var(--head);font-weight:700}.highlight :is(.k,.kn,.nb),#line .token:is(.keyword,.atrule,.builtin,.important){color:var(--kw)}@supports not (aspect-ratio:1){.highlight .k,.highlight .kn,.highlight .nb,#line .token.keyword,#line .token.atrule,#line .token.builtin,#line .token.important{color:var(--kw)}}.highlight :is(.kd,.kt){color:var(--type)}@supports not (aspect-ratio:1){.highlight .kd,.highlight .kt{color:var(--type)}}.highlight :is(.m,.mf,.mi,.sb),#line .token.number{color:var(--num)}@supports not (aspect-ratio:1){.highlight .m,.highlight .mf,.highlight .mi,.highlight .sb,#line .token.number{color:var(--num)}}.highlight .na,#line .token.attr-name{color:var(--attr)}.highlight :is(.nc,.nn,.no),#line .token:is(.class-name,.namespace,.constant){color:var(--class)}@supports not (aspect-ratio:1){.highlight .nc,.highlight .nn,.highlight .no,#line .token.class-name,#line .token.namespace,#line .token.constant{color:var(--class)}}.highlight .nd{color:var(--deco)}.highlight .ne{color:var(--exc)}.highlight .nt,#line .token:is(.tag,.selector){color:var(--tag)}@supports not (aspect-ratio:1){.highlight .nt,#line .token.tag,#line .token.selector{color:var(--tag)}}.highlight :is(.nv,.vg,.vi),#line .token.variable{color:var(--var)}@supports not (aspect-ratio:1){.highlight .nv,.highlight .vg,.highlight .vi,#line .token.variable{color:var(--var)}}.highlight :is(.o,.ow),#line .token:is(.operator,.entity,.url){color:var(--op)}@supports not (aspect-ratio:1){.highlight .o,.highlight .ow,#line .token.operator,#line .token.entity,#line .token.url{color:var(--op)}}.highlight :is(.p,.pi,.w),#line .token.punctuation{color:var(--ink)}@supports not (aspect-ratio:1){.highlight .p,.highlight .pi,.highlight .w,#line .token.punctuation{color:var(--ink)}}.highlight :is(.s,.s1,.s2,.sd,.sx),#line .token:is(.string,.char,.attr-value){color:var(--str)}@supports not (aspect-ratio:1){.highlight .s,.highlight .s1,.highlight .s2,.highlight .sd,.highlight .sx,#line .token.string,#line .token.char,#line .token.attr-value{color:var(--str)}}.highlight .se{color:var(--esc)}.highlight .si,#line .token.interpolation{color:var(--interp)}.highlight .sr,#line .token.regex{color:var(--regex)}#back-to-top{visibility:hidden;opacity:0;z-index:8;right:max(var(--gutter), 3.5%);bottom:calc(var(--tail) - .825em + env(safe-area-inset-bottom));background-color:var(--bg);color:var(--fg);width:1.65em;height:1.65em;box-shadow:var(--shadow);border-radius:1px;transition:opacity .5s cubic-bezier(.645,.045,.355,1),visibility .5s;position:fixed;transform:rotate(45deg)}@media (prefers-reduced-motion:no-preference){#back-to-top{transition:opacity .5s cubic-bezier(.645,.045,.355,1),visibility .5s,transform .3s cubic-bezier(.645,.045,.355,1)}}@media (prefers-reduced-motion:no-preference) and (hover:hover){#back-to-top:not(.rested):hover{transform:rotate(45deg)scale(1.1)}}@media (prefers-reduced-motion:no-preference){:where(:root[data-hover]) #back-to-top:not(.rested):hover{transform:rotate(45deg)scale(1.1)}@supports not (aspect-ratio:1){:root[data-hover] #back-to-top:not(.rested):hover{transform:rotate(45deg)scale(1.1)}}}#back-to-top:before{content:"";width:44px;height:44px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-45deg)}#back-to-top:active{background-color:var(--hover);transition-duration:0s}#back-to-top i{font-size:1rem;line-height:1.65em;transition:opacity .2s cubic-bezier(.165,.84,.44,1),color .3s cubic-bezier(.645,.045,.355,1);position:relative;transform:rotate(-45deg)}:root.archive #back-to-top i{transform:rotate(-135deg)}@media (hover:hover){#back-to-top:not(.rested):hover i{color:var(--accent)}}:where(:root[data-hover]) #back-to-top:not(.rested):hover i{color:var(--accent)}@supports not (aspect-ratio:1){:root[data-hover] #back-to-top:not(.rested):hover i{color:var(--accent)}}#back-to-top.show{opacity:1;visibility:visible}#ring{pointer-events:none;width:100%;height:100%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#ring path{stroke:var(--fg);stroke-dasharray:160;stroke-dashoffset:160px;opacity:.35;animation-name:ring;animation-timing-function:linear;animation-fill-mode:both}#scroll-percentage{font-variant-numeric:tabular-nums;color:var(--muted);pointer-events:none;-webkit-user-select:none;user-select:none;opacity:0;font-size:.572rem;line-height:1;transition:opacity .2s cubic-bezier(.165,.84,.44,1);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-45deg);-webkit-mask-image:linear-gradient(#0000,#000 .15em calc(100% - .15em),#0000);mask-image:linear-gradient(#0000,#000 .15em calc(100% - .15em),#0000)}#back-to-top.counting #scroll-percentage{opacity:1}#back-to-top.counting>.icons{opacity:0}.roll{display:flex}.roll-place{width:1ch;height:1em;overflow:clip}.roll-strip{will-change:transform;flex-direction:column;display:flex}.roll-strip>span{height:1em}.roll,.roll-strip{animation-timing-function:step-end;animation-fill-mode:both}@media (prefers-reduced-motion:no-preference){.roll,.roll-strip{animation-timing-function:linear}}.roll{animation-name:centre}.hundreds>.roll-strip{animation-name:hundreds}.tens>.roll-strip{animation-name:tens}.ones>.roll-strip{animation-name:ones;animation-timing-function:steps(10,end);animation-iteration-count:10}@media (prefers-reduced-motion:no-preference){.ones>.roll-strip{animation-timing-function:linear}.roll,.roll-strip{transition:translate .2s cubic-bezier(.165,.84,.44,1)}.roll{translate:calc(var(--snap-row,0) * 1ch) 0}.hundreds>.roll-strip{translate:0 calc(var(--snap-hundreds,0) * -1em)}.tens>.roll-strip{translate:0 calc(var(--snap-tens,0) * -1em)}.ones>.roll-strip{translate:0 calc(var(--snap-ones,0) * -1em)}}@supports (animation-timeline:scroll()){#back-to-top{animation:linear both appear;animation-timeline:scroll(root);animation-range:0 3rem}.roll,.roll-strip,#ring path{animation-timeline:scroll(root)}}@supports not (animation-timeline:scroll()){.roll,.roll-strip,#ring path{animation-duration:.1s;animation-delay:calc(var(--p,0) * -.1s);animation-play-state:paused}.ones>.roll-strip{animation-duration:10ms}}@keyframes appear{to{opacity:1;visibility:visible}}@keyframes ring{0%{stroke-dashoffset:160px}to{stroke-dashoffset:0}}@keyframes centre{0%,9%{transform:translate(-1ch)}10%,99%{transform:translate(-.5ch)}to{transform:none}}@keyframes hundreds{0%,99%{transform:none}to{transform:translateY(-1em)}}@keyframes tens{0%,9%{transform:none}10%,19%{transform:translateY(-1em)}20%,29%{transform:translateY(-2em)}30%,39%{transform:translateY(-3em)}40%,49%{transform:translateY(-4em)}50%,59%{transform:translateY(-5em)}60%,69%{transform:translateY(-6em)}70%,79%{transform:translateY(-7em)}80%,89%{transform:translateY(-8em)}90%,99%{transform:translateY(-9em)}to{transform:translateY(-10em)}}@keyframes ones{to{transform:translateY(-10em)}}.tooltip-container{cursor:pointer;display:inline-block;position:relative}.tooltip-container .tooltip{background:var(--tip-bg);color:var(--on-dark);padding:calc(.25 * var(--line)) calc(.5 * var(--line));border-radius:calc(.125 * var(--line));text-align:center;white-space:nowrap;z-index:99;opacity:0;visibility:hidden;pointer-events:none;transform:var(--at, ) scale(var(--s,1));font-size:.658rem;line-height:1.3;transition:opacity .1s cubic-bezier(.165,.84,.44,1),transform .1s cubic-bezier(.165,.84,.44,1),visibility .1s;position:absolute}@media (prefers-reduced-motion:no-preference){.tooltip-container .tooltip{--s:.9}}.tooltip-container .tooltip:after{content:"";border-style:solid;width:0;height:0;position:absolute}.tooltip-container .tooltip.active{opacity:1;visibility:visible;pointer-events:auto;--s:1}@media (hover:hover){.tooltip-container:hover .tooltip{opacity:1;visibility:visible;pointer-events:auto;--s:1}}:where(:root[data-hover]) .tooltip-container:hover .tooltip{opacity:1;visibility:visible;pointer-events:auto;--s:1}@supports not (aspect-ratio:1){:root[data-hover] .tooltip-container:hover .tooltip{opacity:1;visibility:visible;pointer-events:auto;--s:1}}.tooltip-container:not(:has(a,button)):hover .tooltip{opacity:1;visibility:visible;pointer-events:auto;--s:1}.tooltip-container:has(:focus-visible) .tooltip{opacity:1;visibility:visible;--s:1}.tooltip[data-pos=top]{--at:translateX(-50%);transform-origin:50% 100%;bottom:125%;left:50%}.tooltip[data-pos=top]:after{border-width:.55em .55em 0;border-color:var(--tip-bg) transparent transparent transparent;top:100%;left:50%;transform:translate(-50%)}.tooltip[data-pos=bottom]{--at:translateX(-50%);transform-origin:50% 0;top:125%;left:50%}.tooltip[data-pos=bottom]:after{border-width:0 .55em .55em;border-color:transparent transparent var(--tip-bg) transparent;bottom:100%;left:50%;transform:translate(-50%)}.tooltip[data-pos=left]{--at:translateY(-50%);transform-origin:100%;top:50%;right:125%}.tooltip[data-pos=left]:after{border-width:.55em 0 .55em .55em;border-color:transparent transparent transparent var(--tip-bg);top:50%;left:100%;transform:translateY(-50%)}.tooltip.long{white-space:normal;text-align:left;--at:translate(0);width:18.5em;transform-origin:calc(100% - var(--line)) 100%;left:auto;right:0}.tooltip.long:after{left:auto;right:var(--line);transform:translate(50%)}.post-tail-wrapper .tooltip{--at:translate(0);transform-origin:calc(100% - var(--line)) 0;left:auto;right:0}.post-tail-wrapper .tooltip:after{left:auto;right:var(--line);transform:translate(50%)}.viewer{--view:1;background:var(--bg);cursor:zoom-out;touch-action:pinch-zoom;border:0;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0;position:fixed;inset:0;overflow:hidden}.viewer[data-zoomed]{touch-action:auto}@media (min-width:75em){.viewer{--view:.7}}.viewer-track{grid-template:1fr/1fr;height:100%;display:grid}.viewer-track:focus-visible{outline:none}.viewer-slide{padding:var(--gutter);opacity:0;will-change:filter, transform;filter:grayscale()opacity(40%)blur(2px);grid-area:1/1;place-items:center;margin:0;transition-property:filter,opacity;transition-duration:.4s;transition-timing-function:ease;display:grid;container-type:size}@media (prefers-reduced-motion:no-preference){.viewer-slide{transition-property:transform,filter,opacity;transform:scale(.95)}}.viewer-slide.is-active{filter:none;opacity:1;z-index:1;transform:none}.viewer-slide[hidden]{display:none}.viewer-slide img{width:min(100cqw, 100vw * var(--view), min(100cqh, 100vh * var(--view)) * var(--r));aspect-ratio:var(--r)}html:has(.viewer[open]){overflow:hidden}:not(a)>span.img-link{cursor:zoom-in}[data-morph]{view-transition-name:photo}::view-transition-old(photo){object-fit:cover;height:100%;animation:none;overflow:clip}::view-transition-new(photo){object-fit:cover;height:100%;animation:none;overflow:clip}:root:not([data-shrink])::view-transition-old(photo){opacity:0}:root[data-shrink]::view-transition-new(photo){opacity:0}@media (prefers-reduced-motion:no-preference){::view-transition-group(photo){animation-duration:.4s;animation-timing-function:ease}::view-transition-old(root){animation-duration:.4s;animation-timing-function:ease}::view-transition-new(root){animation-duration:.4s;animation-timing-function:ease}}#header-wrapper{flex-shrink:0;height:3rem}#topbar{align-items:center;height:100%;display:flex}#topbar #breadcrumb{flex:1;min-width:0;font-size:1rem;line-height:1.5}#topbar #breadcrumb a{color:var(--accent2);transition-property:color;transition-duration:.3s;transition-timing-function:cubic-bezier(.645,.045,.355,1)}@media (hover:hover){#topbar #breadcrumb a:hover{color:var(--accent)}}:where(:root[data-hover]) #topbar #breadcrumb a:hover{color:var(--accent)}@supports not (aspect-ratio:1){:root[data-hover] #topbar #breadcrumb a:hover{color:var(--accent)}}#topbar #breadcrumb .back{color:var(--muted);font-family:var(--f-serif);font-style:italic;line-height:0}#topbar #breadcrumb .back:before{content:"‹"/"";font-family:var(--f-ui);padding-inline-end:calc(.25 * var(--line));font-style:normal}@supports not (content:""/""){#topbar #breadcrumb .back:before{content:"‹"}}#topbar #breadcrumb :where(.back) a{color:inherit}@supports not (aspect-ratio:1){#topbar #breadcrumb .back a{color:inherit}}#topbar #breadcrumb :where(.back) a:active{color:var(--accent)}@supports not (aspect-ratio:1){#topbar #breadcrumb .back a:active{color:var(--accent)}}footer{color:var(--muted);min-height:var(--tail);justify-content:center;align-items:center;font-size:.756rem;line-height:1.5;display:flex}@media (min-width:47.625em){footer{justify-content:flex-end}}@media (max-width:47.624em) and (orientation:portrait){footer{border-top:1px solid var(--border)}}footer p{text-align:center;margin:0}footer .tooltip-container+.tooltip-container,footer time{margin-inline-start:.5em}@property --fade-l{syntax:"<length>";inherits:false;initial-value:0}@property --fade-r{syntax:"<length>";inherits:false;initial-value:0}:root{--fluid:max(1rem, min(15px + .25vw, 21.4px));--text:max(1rem, min(var(--fluid), (var(--fluid) + 18px) / 2));--measure:calc(37 * var(--fluid));--wide:calc(54 * var(--fluid));--gutter:max(clamp(1rem, 6vw, 2rem), env(safe-area-inset-left), env(safe-area-inset-right));--column:min(var(--wide), 100vw);--reach:min(.17 * var(--column), (100vw - var(--column)) / 2, .41 * var(--spare));--scale:.9;--leading:1.6;--line:calc(var(--leading) * var(--fluid));--flow:var(--line);--gap:clamp(var(--line), 5vmin, 2 * var(--line));--break:calc(var(--gap) + var(--line) / 2);--gap-in:calc(var(--line) / 2);--inset:var(--gap-in);--tail:calc(1.5 * var(--line));--rest:2.25em;--inner:calc(100vw - 2 * var(--gutter));--prose:min(var(--measure), var(--inner));--cards:min(var(--inner), var(--column) * var(--scale));--spare:calc((var(--inner) - var(--cards)) / 2);--echo:calc(var(--spare) + var(--gutter) / 2 - var(--reach));--bar:2px;--track:calc((var(--gap) - var(--bar)) / 2)}@media (max-width:47.624em){:root{--tail:calc(2 * var(--line));--inset:calc(.25 * var(--line))}}.content :is(blockquote,li,dd)>*{margin-block:0}@supports not (aspect-ratio:1){.content blockquote>*,.content li>*,.content dd>*{margin-block:0}}.content :is(blockquote,li,dd)>:where(:not(i))+:where(p,ul,ol,dl,blockquote,hr,h2,h3,h4,h5){margin-top:calc(.5 * var(--line))}@supports not (aspect-ratio:1){.content blockquote>:not(i)+p,.content blockquote>:not(i)+ul,.content blockquote>:not(i)+ol,.content blockquote>:not(i)+dl,.content blockquote>:not(i)+blockquote,.content blockquote>:not(i)+hr,.content blockquote>:not(i)+h2,.content blockquote>:not(i)+h3,.content blockquote>:not(i)+h4,.content blockquote>:not(i)+h5,.content li>:not(i)+p,.content li>:not(i)+ul,.content li>:not(i)+ol,.content li>:not(i)+dl,.content li>:not(i)+blockquote,.content li>:not(i)+hr,.content li>:not(i)+h2,.content li>:not(i)+h3,.content li>:not(i)+h4,.content li>:not(i)+h5,.content dd>:not(i)+p,.content dd>:not(i)+ul,.content dd>:not(i)+ol,.content dd>:not(i)+dl,.content dd>:not(i)+blockquote,.content dd>:not(i)+hr,.content dd>:not(i)+h2,.content dd>:not(i)+h3,.content dd>:not(i)+h4,.content dd>:not(i)+h5{margin-top:calc(.5 * var(--line))}}body{--frame:calc(.8 * (100vh - 3rem - 1rem))}:is(.media,.carousel){--room:max(var(--break), min((100vh - var(--frame)) / 2, var(--frame) / 4))}@supports not (aspect-ratio:1){.media,.carousel{--room:max(var(--break), min((100vh - var(--frame)) / 2, var(--frame) / 4))}}.media{width:fit-content}.media>:is(figcaption,em){contain:inline-size}@supports not (aspect-ratio:1){.media>figcaption,.media>em{contain:inline-size}}.media>:is(figcaption,em),.carousel-card>figcaption{margin-top:var(--inset);display:block}@supports not (aspect-ratio:1){.media>figcaption,.media>em,.carousel-card>figcaption{margin-top:var(--inset);display:block}}.media:has(.small){--room:var(--break)}#main-content{width:var(--column);flex-direction:column;flex-grow:1;margin-inline:auto;display:flex}:where(#topbar,#tail-wrapper,#main-content>*,#main-content>article>:not(dialog)){width:min(var(--prose), 100%);margin-inline:auto}@supports not (aspect-ratio:1){#topbar,#tail-wrapper,#main-content>*,#main-content>article>:not(dialog){width:min(var(--prose), 100%);margin-inline:auto}}:where(#main-content>article,#main-content>article>:is(.content,.cover-img,#toc-bar)){width:auto;margin-inline:0}@supports not (aspect-ratio:1){#main-content>article,#main-content>article>.content,#main-content>article>.cover-img,#main-content>article>#toc-bar{width:auto;margin-inline:0}}:where(#main-content>#post-list){width:var(--cards)}@supports not (aspect-ratio:1){#main-content>#post-list{width:var(--cards)}}:where(article>.content>*){margin-inline:0}@supports not (aspect-ratio:1){article>.content>*{margin-inline:0}}.container:has(#line)>#main-content{min-height:calc(100vh - 3rem - calc(4 * var(--line)) - var(--rest) - var(--tail))}#tail-wrapper>#line{margin-top:var(--line)}#line:empty{min-height:var(--rest)}@media (scripting:none){#line:empty{min-height:0}}article.post{flex-direction:column;flex-grow:1;display:flex}article.post>.content{margin-bottom:auto}article>.content{--edge:max(0px, var(--gutter) - (100vw - 100%) / 2);grid-template-columns:[wide-start] var(--edge) [boxed-start] minmax(0, 1fr) [text-start] min(var(--prose), 100%) [text-end] minmax(0, 1fr) [boxed-end] var(--edge) [wide-end];font-size:var(--text);line-height:var(--line);display:grid}article>.content>*{grid-column:text;min-width:0;margin-block:0}article>.content>*+*{margin-top:var(--flow)}article>.content>:first-child{margin-top:0}article>.content>:is(h2,h3,h4,h5){--above:calc(1.5 * var(--line));margin-top:var(--above)}@supports not (aspect-ratio:1){article>.content>h2,article>.content>h3,article>.content>h4,article>.content>h5{--above:calc(1.5 * var(--line));margin-top:var(--above)}}article>.content>h2{--above:calc(2 * var(--line))}article>.content>h4{--above:calc(1.25 * var(--line))}article>.content>h5{--above:var(--line)}article>.content>:is(h2,h3,h4,h5)+*{margin-top:calc(.5 * var(--line))}@supports not (aspect-ratio:1){article>.content>h2+*,article>.content>h3+*,article>.content>h4+*,article>.content>h5+*{margin-top:calc(.5 * var(--line))}}article>.content>h2+*{margin-top:calc(.75 * var(--line))}article>.content>hr,article>.content>hr+*{--above:calc(2 * var(--line) + 2vh);margin-top:var(--above)}article>.content>:where(.footnotes){--above:calc(2 * var(--line));margin-top:var(--above)}@supports not (aspect-ratio:1){article>.content>.footnotes{--above:calc(2 * var(--line));margin-top:var(--above)}}article>.content>:is(.media,.carousel,iframe,video,audio,figure,.diagram){grid-column:wide}@supports not (aspect-ratio:1){article>.content>.media,article>.content>.carousel,article>.content>iframe,article>.content>video,article>.content>audio,article>.content>figure,article>.content>.diagram{grid-column:wide}}article>.content>:is(.table-wrapper,.chartjs-container,.tweet-wrapper){grid-column:boxed}@supports not (aspect-ratio:1){article>.content>.table-wrapper,article>.content>.chartjs-container,article>.content>.tweet-wrapper{grid-column:boxed}}@media (max-width:47.624em){article>.content>.table-wrapper{-webkit-mask-image:linear-gradient(to right, transparent, black var(--edge), black calc(100% - var(--edge)), transparent);mask-image:linear-gradient(to right, transparent, black var(--edge), black calc(100% - var(--edge)), transparent);grid-column:wide;display:flex}article>.content>.table-wrapper:before,article>.content>.table-wrapper:after{content:"";width:var(--edge);flex:none}article>.content>.table-wrapper>table{min-width:calc(100% - 2 * var(--edge));flex:none}}@media (min-width:47.625em){@supports (animation-timeline:scroll()){article>.content>.table-wrapper{-webkit-mask-image:linear-gradient(to right, transparent, black var(--fade-l), black calc(100% - var(--fade-r)), transparent);mask-image:linear-gradient(to right, transparent, black var(--fade-l), black calc(100% - var(--fade-r)), transparent);animation:linear both scroll-fade;animation-timeline:scroll(self inline)}}}article>.content>:is(iframe,video,.chartjs-container,.tweet-wrapper){width:min(100%, 100cqw * var(--scale));justify-self:center}@supports not (aspect-ratio:1){article>.content>iframe,article>.content>video,article>.content>.chartjs-container,article>.content>.tweet-wrapper{width:min(100%, 100cqw * var(--scale));justify-self:center}}article>.content>.diagram{justify-self:center}article>.content>:is(.media,.carousel,iframe,video,audio,figure,.diagram,.table-wrapper,.chartjs-container,.tweet-wrapper,.highlighter-rouge)+*,article>.content>iframe+noscript+*,article>.content>*+:is(.media,.carousel,iframe,video,audio,figure,.diagram,.table-wrapper,.chartjs-container,.tweet-wrapper,.highlighter-rouge){margin-top:max(var(--break), var(--above,0px))}@supports not (aspect-ratio:1){article>.content>.media+*,article>.content>.carousel+*,article>.content>iframe+*,article>.content>video+*,article>.content>audio+*,article>.content>figure+*,article>.content>.diagram+*,article>.content>.table-wrapper+*,article>.content>.chartjs-container+*,article>.content>.tweet-wrapper+*,article>.content>.highlighter-rouge+*,article>.content>iframe+noscript+*,article>.content>*+.media,article>.content>*+.carousel,article>.content>*+iframe,article>.content>*+video,article>.content>*+audio,article>.content>*+figure,article>.content>*+.diagram,article>.content>*+.table-wrapper,article>.content>*+.chartjs-container,article>.content>*+.tweet-wrapper,article>.content>*+.highlighter-rouge{margin-top:max(var(--break), var(--above,0px))}}article>.content>:is(.media,.carousel,iframe,video,audio,figure,.diagram,.table-wrapper,.chartjs-container,.tweet-wrapper,.highlighter-rouge){z-index:1;position:relative}@supports not (aspect-ratio:1){article>.content>.media,article>.content>.carousel,article>.content>iframe,article>.content>video,article>.content>audio,article>.content>figure,article>.content>.diagram,article>.content>.table-wrapper,article>.content>.chartjs-container,article>.content>.tweet-wrapper,article>.content>.highlighter-rouge{z-index:1;position:relative}}article>.content>*+:is(.media,.carousel){margin-top:max(var(--room), var(--above,0px))}@supports not (aspect-ratio:1){article>.content>*+.media,article>.content>*+.carousel{margin-top:max(var(--room), var(--above,0px))}}article>.content>:is(h2,h3,h4,h5)+:is(.media,.carousel){margin-top:var(--break)}@supports not (aspect-ratio:1){article>.content>h2+.media,article>.content>h2+.carousel,article>.content>h3+.media,article>.content>h3+.carousel,article>.content>h4+.media,article>.content>h4+.carousel,article>.content>h5+.media,article>.content>h5+.carousel{margin-top:var(--break)}}article>.content>:is(.media,.carousel)+*{margin-top:0}@supports not (aspect-ratio:1){article>.content>.media+*,article>.content>.carousel+*{margin-top:0}}article>.content>:is(.media,.carousel,iframe,video,audio,figure,.diagram,.table-wrapper,.chartjs-container,.tweet-wrapper,.highlighter-rouge)+:is(.media,.carousel,iframe,video,audio,figure,.diagram,.table-wrapper,.chartjs-container,.tweet-wrapper,.highlighter-rouge),article>.content>iframe+noscript+:is(.media,.carousel,iframe,video,audio,figure,.diagram,.table-wrapper,.chartjs-container,.tweet-wrapper,.highlighter-rouge){margin-top:var(--gap)}@supports not (aspect-ratio:1){article>.content>.media+.media,article>.content>.media+.carousel,article>.content>.media+iframe,article>.content>.media+video,article>.content>.media+audio,article>.content>.media+figure,article>.content>.media+.diagram,article>.content>.media+.table-wrapper,article>.content>.media+.chartjs-container,article>.content>.media+.tweet-wrapper,article>.content>.media+.highlighter-rouge,article>.content>.carousel+.media,article>.content>.carousel+.carousel,article>.content>.carousel+iframe,article>.content>.carousel+video,article>.content>.carousel+audio,article>.content>.carousel+figure,article>.content>.carousel+.diagram,article>.content>.carousel+.table-wrapper,article>.content>.carousel+.chartjs-container,article>.content>.carousel+.tweet-wrapper,article>.content>.carousel+.highlighter-rouge,article>.content>iframe+.media,article>.content>iframe+.carousel,article>.content>iframe+iframe,article>.content>iframe+video,article>.content>iframe+audio,article>.content>iframe+figure,article>.content>iframe+.diagram,article>.content>iframe+.table-wrapper,article>.content>iframe+.chartjs-container,article>.content>iframe+.tweet-wrapper,article>.content>iframe+.highlighter-rouge,article>.content>video+.media,article>.content>video+.carousel,article>.content>video+iframe,article>.content>video+video,article>.content>video+audio,article>.content>video+figure,article>.content>video+.diagram,article>.content>video+.table-wrapper,article>.content>video+.chartjs-container,article>.content>video+.tweet-wrapper,article>.content>video+.highlighter-rouge,article>.content>audio+.media,article>.content>audio+.carousel,article>.content>audio+iframe,article>.content>audio+video,article>.content>audio+audio,article>.content>audio+figure,article>.content>audio+.diagram,article>.content>audio+.table-wrapper,article>.content>audio+.chartjs-container,article>.content>audio+.tweet-wrapper,article>.content>audio+.highlighter-rouge,article>.content>figure+.media,article>.content>figure+.carousel,article>.content>figure+iframe,article>.content>figure+video,article>.content>figure+audio,article>.content>figure+figure,article>.content>figure+.diagram,article>.content>figure+.table-wrapper,article>.content>figure+.chartjs-container,article>.content>figure+.tweet-wrapper,article>.content>figure+.highlighter-rouge,article>.content>.diagram+.media,article>.content>.diagram+.carousel,article>.content>.diagram+iframe,article>.content>.diagram+video,article>.content>.diagram+audio,article>.content>.diagram+figure,article>.content>.diagram+.diagram,article>.content>.diagram+.table-wrapper,article>.content>.diagram+.chartjs-container,article>.content>.diagram+.tweet-wrapper,article>.content>.diagram+.highlighter-rouge,article>.content>.table-wrapper+.media,article>.content>.table-wrapper+.carousel,article>.content>.table-wrapper+iframe,article>.content>.table-wrapper+video,article>.content>.table-wrapper+audio,article>.content>.table-wrapper+figure,article>.content>.table-wrapper+.diagram,article>.content>.table-wrapper+.table-wrapper,article>.content>.table-wrapper+.chartjs-container,article>.content>.table-wrapper+.tweet-wrapper,article>.content>.table-wrapper+.highlighter-rouge,article>.content>.chartjs-container+.media,article>.content>.chartjs-container+.carousel,article>.content>.chartjs-container+iframe,article>.content>.chartjs-container+video,article>.content>.chartjs-container+audio,article>.content>.chartjs-container+figure,article>.content>.chartjs-container+.diagram,article>.content>.chartjs-container+.table-wrapper,article>.content>.chartjs-container+.chartjs-container,article>.content>.chartjs-container+.tweet-wrapper,article>.content>.chartjs-container+.highlighter-rouge,article>.content>.tweet-wrapper+.media,article>.content>.tweet-wrapper+.carousel,article>.content>.tweet-wrapper+iframe,article>.content>.tweet-wrapper+video,article>.content>.tweet-wrapper+audio,article>.content>.tweet-wrapper+figure,article>.content>.tweet-wrapper+.diagram,article>.content>.tweet-wrapper+.table-wrapper,article>.content>.tweet-wrapper+.chartjs-container,article>.content>.tweet-wrapper+.tweet-wrapper,article>.content>.tweet-wrapper+.highlighter-rouge,article>.content>.highlighter-rouge+.media,article>.content>.highlighter-rouge+.carousel,article>.content>.highlighter-rouge+iframe,article>.content>.highlighter-rouge+video,article>.content>.highlighter-rouge+audio,article>.content>.highlighter-rouge+figure,article>.content>.highlighter-rouge+.diagram,article>.content>.highlighter-rouge+.table-wrapper,article>.content>.highlighter-rouge+.chartjs-container,article>.content>.highlighter-rouge+.tweet-wrapper,article>.content>.highlighter-rouge+.highlighter-rouge,article>.content>iframe+noscript+.media,article>.content>iframe+noscript+.carousel,article>.content>iframe+noscript+iframe,article>.content>iframe+noscript+video,article>.content>iframe+noscript+audio,article>.content>iframe+noscript+figure,article>.content>iframe+noscript+.diagram,article>.content>iframe+noscript+.table-wrapper,article>.content>iframe+noscript+.chartjs-container,article>.content>iframe+noscript+.tweet-wrapper,article>.content>iframe+noscript+.highlighter-rouge{margin-top:var(--gap)}}article>.content>:is(.media,.carousel)+:is(.media,.carousel){margin-top:var(--room)}@supports not (aspect-ratio:1){article>.content>.media+.media,article>.content>.media+.carousel,article>.content>.carousel+.media,article>.content>.carousel+.carousel{margin-top:var(--room)}}article>.content>:is(.media,.carousel):not(:last-child){margin-bottom:calc(var(--room) - var(--under,0px))}@supports not (aspect-ratio:1){article>.content>.media:not(:last-child),article>.content>.carousel:not(:last-child){margin-bottom:calc(var(--room) - var(--under,0px))}}article>.content>:is(.media,.carousel):has(+:is(.media,.carousel,iframe,video,audio,figure,.diagram,.table-wrapper,.chartjs-container,.tweet-wrapper,.highlighter-rouge)){margin-bottom:calc(-1 * var(--under,0px))}article>.content>.media{align-items:center;gap:var(--gap);flex-direction:column;justify-self:center;display:flex}article>.content>.media>:is(figcaption,em){margin-top:calc(var(--inset) - var(--gap));align-self:stretch}@supports not (aspect-ratio:1){article>.content>.media>figcaption,article>.content>.media>em{margin-top:calc(var(--inset) - var(--gap));align-self:stretch}}:is(blockquote,li,dd)>:is(.media,.carousel,iframe,video,audio,figure,.diagram,.table-wrapper,.chartjs-container,.tweet-wrapper,.highlighter-rouge){margin:var(--gap) 0}@supports not (aspect-ratio:1){blockquote>.media,blockquote>.carousel,blockquote>iframe,blockquote>video,blockquote>audio,blockquote>figure,blockquote>.diagram,blockquote>.table-wrapper,blockquote>.chartjs-container,blockquote>.tweet-wrapper,blockquote>.highlighter-rouge,li>.media,li>.carousel,li>iframe,li>video,li>audio,li>figure,li>.diagram,li>.table-wrapper,li>.chartjs-container,li>.tweet-wrapper,li>.highlighter-rouge,dd>.media,dd>.carousel,dd>iframe,dd>video,dd>audio,dd>figure,dd>.diagram,dd>.table-wrapper,dd>.chartjs-container,dd>.tweet-wrapper,dd>.highlighter-rouge{margin:var(--gap) 0}}:is(blockquote,li,dd)>.media{max-width:100%}@supports not (aspect-ratio:1){blockquote>.media,li>.media,dd>.media{max-width:100%}}:is(blockquote,:is(article>.content,blockquote)>:is(ul,ol,dl)>:first-child)>:is(.media,.carousel,iframe,video,audio,figure,.diagram,.table-wrapper,.chartjs-container,.tweet-wrapper,.highlighter-rouge):first-child{margin-top:0}@supports not (aspect-ratio:1){blockquote>.media:first-child,blockquote>.carousel:first-child,blockquote>iframe:first-child,blockquote>video:first-child,blockquote>audio:first-child,blockquote>figure:first-child,blockquote>.diagram:first-child,blockquote>.table-wrapper:first-child,blockquote>.chartjs-container:first-child,blockquote>.tweet-wrapper:first-child,blockquote>.highlighter-rouge:first-child,article>.content>ul>:first-child>.media:first-child,article>.content>ul>:first-child>.carousel:first-child,article>.content>ul>:first-child>iframe:first-child,article>.content>ul>:first-child>video:first-child,article>.content>ul>:first-child>audio:first-child,article>.content>ul>:first-child>figure:first-child,article>.content>ul>:first-child>.diagram:first-child,article>.content>ul>:first-child>.table-wrapper:first-child,article>.content>ul>:first-child>.chartjs-container:first-child,article>.content>ul>:first-child>.tweet-wrapper:first-child,article>.content>ul>:first-child>.highlighter-rouge:first-child,article>.content>ol>:first-child>.media:first-child,article>.content>ol>:first-child>.carousel:first-child,article>.content>ol>:first-child>iframe:first-child,article>.content>ol>:first-child>video:first-child,article>.content>ol>:first-child>audio:first-child,article>.content>ol>:first-child>figure:first-child,article>.content>ol>:first-child>.diagram:first-child,article>.content>ol>:first-child>.table-wrapper:first-child,article>.content>ol>:first-child>.chartjs-container:first-child,article>.content>ol>:first-child>.tweet-wrapper:first-child,article>.content>ol>:first-child>.highlighter-rouge:first-child,article>.content>dl>:first-child>.media:first-child,article>.content>dl>:first-child>.carousel:first-child,article>.content>dl>:first-child>iframe:first-child,article>.content>dl>:first-child>video:first-child,article>.content>dl>:first-child>audio:first-child,article>.content>dl>:first-child>figure:first-child,article>.content>dl>:first-child>.diagram:first-child,article>.content>dl>:first-child>.table-wrapper:first-child,article>.content>dl>:first-child>.chartjs-container:first-child,article>.content>dl>:first-child>.tweet-wrapper:first-child,article>.content>dl>:first-child>.highlighter-rouge:first-child,blockquote>ul>:first-child>.media:first-child,blockquote>ul>:first-child>.carousel:first-child,blockquote>ul>:first-child>iframe:first-child,blockquote>ul>:first-child>video:first-child,blockquote>ul>:first-child>audio:first-child,blockquote>ul>:first-child>figure:first-child,blockquote>ul>:first-child>.diagram:first-child,blockquote>ul>:first-child>.table-wrapper:first-child,blockquote>ul>:first-child>.chartjs-container:first-child,blockquote>ul>:first-child>.tweet-wrapper:first-child,blockquote>ul>:first-child>.highlighter-rouge:first-child,blockquote>ol>:first-child>.media:first-child,blockquote>ol>:first-child>.carousel:first-child,blockquote>ol>:first-child>iframe:first-child,blockquote>ol>:first-child>video:first-child,blockquote>ol>:first-child>audio:first-child,blockquote>ol>:first-child>figure:first-child,blockquote>ol>:first-child>.diagram:first-child,blockquote>ol>:first-child>.table-wrapper:first-child,blockquote>ol>:first-child>.chartjs-container:first-child,blockquote>ol>:first-child>.tweet-wrapper:first-child,blockquote>ol>:first-child>.highlighter-rouge:first-child,blockquote>dl>:first-child>.media:first-child,blockquote>dl>:first-child>.carousel:first-child,blockquote>dl>:first-child>iframe:first-child,blockquote>dl>:first-child>video:first-child,blockquote>dl>:first-child>audio:first-child,blockquote>dl>:first-child>figure:first-child,blockquote>dl>:first-child>.diagram:first-child,blockquote>dl>:first-child>.table-wrapper:first-child,blockquote>dl>:first-child>.chartjs-container:first-child,blockquote>dl>:first-child>.tweet-wrapper:first-child,blockquote>dl>:first-child>.highlighter-rouge:first-child{margin-top:0}}:is(blockquote,:is(article>.content,blockquote)>:is(ul,ol,dl)>:last-child)>:is(.media,.carousel,iframe,video,audio,figure,.diagram,.table-wrapper,.chartjs-container,.tweet-wrapper,.highlighter-rouge):last-child{margin-bottom:0}@supports not (aspect-ratio:1){blockquote>.media:last-child,blockquote>.carousel:last-child,blockquote>iframe:last-child,blockquote>video:last-child,blockquote>audio:last-child,blockquote>figure:last-child,blockquote>.diagram:last-child,blockquote>.table-wrapper:last-child,blockquote>.chartjs-container:last-child,blockquote>.tweet-wrapper:last-child,blockquote>.highlighter-rouge:last-child,article>.content>ul>:last-child>.media:last-child,article>.content>ul>:last-child>.carousel:last-child,article>.content>ul>:last-child>iframe:last-child,article>.content>ul>:last-child>video:last-child,article>.content>ul>:last-child>audio:last-child,article>.content>ul>:last-child>figure:last-child,article>.content>ul>:last-child>.diagram:last-child,article>.content>ul>:last-child>.table-wrapper:last-child,article>.content>ul>:last-child>.chartjs-container:last-child,article>.content>ul>:last-child>.tweet-wrapper:last-child,article>.content>ul>:last-child>.highlighter-rouge:last-child,article>.content>ol>:last-child>.media:last-child,article>.content>ol>:last-child>.carousel:last-child,article>.content>ol>:last-child>iframe:last-child,article>.content>ol>:last-child>video:last-child,article>.content>ol>:last-child>audio:last-child,article>.content>ol>:last-child>figure:last-child,article>.content>ol>:last-child>.diagram:last-child,article>.content>ol>:last-child>.table-wrapper:last-child,article>.content>ol>:last-child>.chartjs-container:last-child,article>.content>ol>:last-child>.tweet-wrapper:last-child,article>.content>ol>:last-child>.highlighter-rouge:last-child,article>.content>dl>:last-child>.media:last-child,article>.content>dl>:last-child>.carousel:last-child,article>.content>dl>:last-child>iframe:last-child,article>.content>dl>:last-child>video:last-child,article>.content>dl>:last-child>audio:last-child,article>.content>dl>:last-child>figure:last-child,article>.content>dl>:last-child>.diagram:last-child,article>.content>dl>:last-child>.table-wrapper:last-child,article>.content>dl>:last-child>.chartjs-container:last-child,article>.content>dl>:last-child>.tweet-wrapper:last-child,article>.content>dl>:last-child>.highlighter-rouge:last-child,blockquote>ul>:last-child>.media:last-child,blockquote>ul>:last-child>.carousel:last-child,blockquote>ul>:last-child>iframe:last-child,blockquote>ul>:last-child>video:last-child,blockquote>ul>:last-child>audio:last-child,blockquote>ul>:last-child>figure:last-child,blockquote>ul>:last-child>.diagram:last-child,blockquote>ul>:last-child>.table-wrapper:last-child,blockquote>ul>:last-child>.chartjs-container:last-child,blockquote>ul>:last-child>.tweet-wrapper:last-child,blockquote>ul>:last-child>.highlighter-rouge:last-child,blockquote>ol>:last-child>.media:last-child,blockquote>ol>:last-child>.carousel:last-child,blockquote>ol>:last-child>iframe:last-child,blockquote>ol>:last-child>video:last-child,blockquote>ol>:last-child>audio:last-child,blockquote>ol>:last-child>figure:last-child,blockquote>ol>:last-child>.diagram:last-child,blockquote>ol>:last-child>.table-wrapper:last-child,blockquote>ol>:last-child>.chartjs-container:last-child,blockquote>ol>:last-child>.tweet-wrapper:last-child,blockquote>ol>:last-child>.highlighter-rouge:last-child,blockquote>dl>:last-child>.media:last-child,blockquote>dl>:last-child>.carousel:last-child,blockquote>dl>:last-child>iframe:last-child,blockquote>dl>:last-child>video:last-child,blockquote>dl>:last-child>audio:last-child,blockquote>dl>:last-child>figure:last-child,blockquote>dl>:last-child>.diagram:last-child,blockquote>dl>:last-child>.table-wrapper:last-child,blockquote>dl>:last-child>.chartjs-container:last-child,blockquote>dl>:last-child>.tweet-wrapper:last-child,blockquote>dl>:last-child>.highlighter-rouge:last-child{margin-bottom:0}}.photo>.small,.photo>noscript>.small{--scale:.2}.photo>img,.photo>noscript>img{width:min(var(--w), 100cqw * var(--scale), var(--frame) * var(--r));aspect-ratio:var(--r)}article>.dynamic-title{margin-bottom:calc(2 * var(--line))}@keyframes scroll-fade{0%{--fade-r:calc(2 * var(--line))}to{--fade-l:calc(2 * var(--line))}}header .dynamic-title{margin-bottom:0}header .post-meta{margin-bottom:calc(2 * var(--line));color:var(--muted);font-size:.87rem}.cover-img{font-size:var(--text);width:calc(100% * var(--scale));margin:0 auto var(--break)}.cover-img>figcaption{padding-top:var(--gap-in)}.post-tail-wrapper{margin-top:calc(3 * var(--line));color:var(--muted);text-align:end;font-size:.87rem}p.social{justify-content:left;column-gap:calc(.5 * var(--line));display:flex}p.social a{color:var(--icon)}@media (hover:hover){p.social a:hover{color:var(--accent)}}:where(:root[data-hover]) p.social a:hover{color:var(--accent)}@supports not (aspect-ratio:1){:root[data-hover] p.social a:hover{color:var(--accent)}}p.social a i{font-size:1.322rem}article>header:has(+.cover-img) .post-meta{margin-bottom:var(--line)}#art{height:100vh;pointer-events:none;z-index:-1;height:100lvh;-webkit-mask-image:radial-gradient(circle, transparent, var(--bg));mask-image:radial-gradient(circle, transparent, var(--bg));position:fixed;inset:0}@media print{#art{display:none}}html[data-art=plum] #art{opacity:.8}#art-canvas{width:100%;height:100%;display:block}html[data-art=fluid] #art-canvas{opacity:0}@media (prefers-reduced-motion:no-preference){html[data-art=fluid] #art-canvas{transition:opacity 1.6s cubic-bezier(.165,.84,.44,1)}}html[data-art=fluid] #art-canvas.soft{width:calc(100% + 2 * var(--cell));height:calc(100% + 2 * var(--cell));margin:calc(-1 * var(--cell));filter:blur(calc(.75 * var(--cell)))}.toc-list{margin:0}.is-collapsible{overflow:hidden}.is-collapsed{max-height:0}.is-collapsed:has(:focus){max-height:none}#panel-wrapper{color:var(--muted)}@media (max-width:74.999em){#panel-wrapper{display:none}}#toc-popup{z-index:99;border-color:var(--toc-bd);border-radius:calc(.333333 * var(--line));color:var(--fg);background:var(--bg);min-width:min(var(--prose), var(--measure) / 2);max-width:var(--prose);transition:opacity .3s cubic-bezier(.165, .84, .44, 1), display .3s allow-discrete, overlay .3s allow-discrete;border-width:1px;margin-top:3rem;padding:0;font-size:1rem;position:fixed;inset:0 0 auto}#toc-popup:before{border-radius:calc(.333333 * var(--line))}@media (prefers-reduced-motion:no-preference){#toc-popup{transition:translate .3s cubic-bezier(.165, .84, .44, 1), opacity .3s cubic-bezier(.165, .84, .44, 1), display .3s allow-discrete, overlay .3s allow-discrete}}#toc-popup:not([open]){opacity:0}@media (prefers-reduced-motion:no-preference){#toc-popup:not([open]){translate:0 -3rem}}#toc-popup:not([open])::backdrop{opacity:0}#toc-popup[data-tapped] :focus-visible{outline:none}#toc-popup .toc-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}#toc-popup .toc-header .label{font-family:var(--f-title);padding:calc(.25 * var(--line)) 0;margin-left:var(--line);font-style:italic}#toc-popup .toc-header>button{margin:calc(.125 * var(--line));padding:calc(.25 * var(--line)) calc(.5 * var(--line));opacity:.7}#toc-popup button>i{vertical-align:middle;font-size:1.322rem}#toc-popup ul{padding-left:0;list-style-type:none}#toc-popup ul li ul,#toc-popup ul li+li{margin-top:calc(.125 * var(--line))}#toc-popup ul li a{padding:calc(.25 * var(--line)) 0;padding-right:calc(.75 * var(--line));line-height:1.5;display:flex}#toc-popup .node-name--H2{padding-left:calc(.75 * var(--line))}#toc-popup .node-name--H3{padding-left:calc(1.5 * var(--line))}#toc-popup .node-name--H4{padding-left:calc(2.25 * var(--line))}#toc-popup .is-active-link{font-weight:600;color:var(--accent2)!important}#toc-popup::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);transition:opacity .3s cubic-bezier(.165, .84, .44, 1), display .3s allow-discrete, overlay .3s allow-discrete}#toc-popup:after{content:"";background:linear-gradient(transparent, var(--bg) 70%);height:calc(1.25 * var(--line));display:flex;position:relative}#toc-popup #toc-popup-content{max-height:calc(100vh - 12rem);font-family:var(--f-sans);margin-bottom:calc(-1.25 * var(--line));padding:calc(.5 * var(--line)) var(--line) var(--line) var(--line);overflow:auto}@starting-style{#toc-popup[open],#toc-popup[open]::backdrop{opacity:0}}@media (prefers-reduced-motion:no-preference){@starting-style{#toc-popup[open]{translate:0 -3rem}}html.navigated #toc-wrapper{animation:.8s cubic-bezier(.165,.84,.44,1) backwards fade-up}}@keyframes fade-up{0%{opacity:0;translate:0 calc(2 * var(--line))}}#toc-wrapper{width:calc(clamp(10em, (100vw - var(--measure)) / 2 - 2 * var(--gutter), 16em) + var(--gutter));padding:calc(.5 * var(--line)) 0 calc(.5 * var(--line)) var(--gutter);max-height:calc(80vh + var(--line));scrollbar-width:none;position:fixed;top:50vh;left:0;overflow-y:auto;transform:translateY(-50%)}@media (hover:hover){#toc-wrapper{pointer-events:none}#toc-wrapper:has(ul:hover){z-index:2}#toc-wrapper #toc>ul:before{content:"";inset:calc(-.5 * var(--line)) auto calc(-.5 * var(--line)) calc(-1 * var(--gutter));width:calc(var(--gutter) + 1.25 * var(--line));position:absolute}#toc-wrapper #toc>ul:before,#toc-wrapper ul:hover,#toc-wrapper ul:hover .toc-link{pointer-events:auto}}:where(:root[data-hover]) #toc-wrapper{pointer-events:none}@supports not (aspect-ratio:1){:root[data-hover] #toc-wrapper{pointer-events:none}}:where(:root[data-hover]) #toc-wrapper:has(ul:hover){z-index:2}:where(:root[data-hover]) #toc-wrapper #toc>ul:before{content:"";inset:calc(-.5 * var(--line)) auto calc(-.5 * var(--line)) calc(-1 * var(--gutter));width:calc(var(--gutter) + 1.25 * var(--line));position:absolute}@supports not (aspect-ratio:1){:root[data-hover] #toc-wrapper #toc>ul:before{content:"";inset:calc(-.5 * var(--line)) auto calc(-.5 * var(--line)) calc(-1 * var(--gutter));width:calc(var(--gutter) + 1.25 * var(--line));position:absolute}}:where(:root[data-hover]) #toc-wrapper #toc>ul:before,:where(:root[data-hover]) #toc-wrapper ul:hover,:where(:root[data-hover]) #toc-wrapper ul:hover .toc-link{pointer-events:auto}@supports not (aspect-ratio:1){:root[data-hover] #toc-wrapper #toc>ul:before,:root[data-hover] #toc-wrapper ul:hover,:root[data-hover] #toc-wrapper ul:hover .toc-link{pointer-events:auto}}#toc-wrapper #toc>ul{position:relative}#toc-wrapper ul{margin-bottom:0;padding-left:0;font-size:.87rem;line-height:1.4;list-style:none}@media (hover:hover){#toc-wrapper ul:hover li a{opacity:.35;color:inherit}}:where(:root[data-hover]) #toc-wrapper ul:hover li a{opacity:.35;color:inherit}@supports not (aspect-ratio:1){:root[data-hover] #toc-wrapper ul:hover li a{opacity:.35;color:inherit}}#toc-wrapper ul:focus-within li a{opacity:.35;color:inherit}@media (hover:none){#toc-wrapper ul li a{opacity:.35;color:inherit}}#toc-wrapper .toc-link{padding:calc(.25 * var(--line)) calc(.25 * var(--line)) calc(.25 * var(--line)) calc(.75 * var(--line));border-left:1px solid var(--border);color:#0000;text-wrap:pretty;overflow-wrap:anywhere;transition-property:opacity,color,border-color;transition-duration:.3s;transition-timing-function:cubic-bezier(.645,.045,.355,1);display:block;position:relative}@media (hover:hover){#toc-wrapper .toc-link:hover{color:var(--accent2);transition-duration:0s;opacity:1!important}}:where(:root[data-hover]) #toc-wrapper .toc-link:hover{color:var(--accent2);transition-duration:0s;opacity:1!important}@supports not (aspect-ratio:1){:root[data-hover] #toc-wrapper .toc-link:hover{color:var(--accent2);transition-duration:0s;opacity:1!important}}#toc-wrapper .toc-link:focus-visible{color:var(--accent2);opacity:1!important}#toc-wrapper .node-name--H3{padding-left:calc(1.25 * var(--line))}#toc-wrapper .node-name--H4{padding-left:calc(1.75 * var(--line))}#toc-wrapper .is-active-link{border-left-color:var(--accent2);font-weight:600;opacity:1!important}@supports (color:color-mix(in srgb, currentcolor, transparent)){#toc-wrapper .is-active-link{border-left-color:color-mix(in srgb, var(--accent2) 60%, var(--bg))}}#toc-bar{z-index:2;margin:calc(-1.5 * var(--line)) 0 calc(-.75 * var(--line));padding:0 env(safe-area-inset-right) calc(.75 * var(--line)) env(safe-area-inset-left);line-height:var(--line);pointer-events:none;background:var(--bg) content-box;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}#toc-bar:before{content:"";z-index:-1;background:linear-gradient(var(--bg) calc(100% - calc(.75 * var(--line))), transparent);position:absolute;inset:0}@supports (color:color-mix(in srgb, currentcolor, transparent)){#toc-bar:before{background:linear-gradient(var(--bg) calc(100% - calc(.75 * var(--line))), color-mix(in srgb, var(--bg) 99.2%, transparent) calc(100% - calc(.75 * var(--line)) * .875), color-mix(in srgb, var(--bg) 93.8%, transparent) calc(100% - calc(.75 * var(--line)) * .75), color-mix(in srgb, var(--bg) 78.9%, transparent) calc(100% - calc(.75 * var(--line)) * .625), color-mix(in srgb, var(--bg) 50%, transparent) calc(100% - calc(.75 * var(--line)) * .5), color-mix(in srgb, var(--bg) 21.1%, transparent) calc(100% - calc(.75 * var(--line)) * .375), color-mix(in srgb, var(--bg) 6.2%, transparent) calc(100% - calc(.75 * var(--line)) * .25), color-mix(in srgb, var(--bg) 0.8%, transparent) calc(100% - calc(.75 * var(--line)) * .125), transparent)}}@supports not (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){#toc-bar{transition:translate .2s cubic-bezier(.645,.045,.355,1)}}}@supports (animation-timeline:view()){#toc-bar{animation:linear both toc-bar;animation-timeline:--toc-start;animation-range:cover 100% cover calc(100% + 3 * var(--line))}@media (prefers-reduced-motion:no-preference){#toc-bar{animation-name:toc-bar,toc-bar-rise}}}#toc-bar>*{pointer-events:auto}#toc-bar>button{padding:calc(.25 * var(--line)) calc(.5 * var(--line));margin-right:calc(.125 * var(--line))}#toc-bar>button:active{background-color:var(--hover);transition-duration:0s}#toc-bar .label{margin:0 0 0 calc(.25 * var(--line));padding:0 calc(.5 * var(--line));color:inherit;font-family:var(--f-title);font-style:italic}@supports not (animation-timeline:view()){#toc-bar.invisible{visibility:hidden;transition:none;translate:0 -3rem}}@media (min-width:75em){#toc-bar{display:none}}#toc-start{display:block}@supports (animation-timeline:view()){#main-content>article{timeline-scope:--toc-start}#toc-start{view-timeline:--toc-start block;view-timeline-inset:0}}@keyframes toc-bar{0%{opacity:0;visibility:hidden}}@keyframes toc-bar-rise{0%{translate:0 -3rem}}html:has(#toc-popup[open]){overflow:hidden}.carousel{--row:min(var(--frame), 100cqw * var(--scale) / var(--fit), var(--h));--under:calc(var(--track) + var(--bar));align-items:center;gap:var(--gap);padding-bottom:var(--track);scroll-snap-type:x mandatory;z-index:1;margin-inline:calc(-1 * var(--reach));display:flex;position:relative;overflow:auto hidden}.carousel::-webkit-scrollbar-track{margin-inline:calc(var(--reach) + 100cqw * (1 - var(--scale) / 2) / 2)}.carousel:before,.carousel:after{content:"";flex:0 0 50%;align-self:stretch}@media (max-width:47.624em) and (orientation:portrait){.carousel{--scale:.8;--row:min(var(--frame), 100cqw * var(--scale) / .666667, var(--h))}}.carousel-figure{width:min(100cqw * var(--scale), var(--row) * var(--r));scroll-snap-align:center;scroll-snap-stop:always;cursor:w-resize;flex:none}@media (max-width:47.624em) and (orientation:portrait){.carousel-figure{width:min(100cqw * var(--scale), var(--row) * min(var(--r), .666667))}}.is-active~.carousel-figure{cursor:e-resize}.carousel-figure.is-active{cursor:zoom-in}.carousel-card{will-change:filter, transform;filter:grayscale()opacity(40%)blur(2px);margin:0;transition-property:filter;transition-duration:.4s;transition-timing-function:ease;transform:scale(.95)}@media (prefers-reduced-motion:no-preference){.carousel-card{transition-property:transform,filter}}.is-active>.carousel-card{filter:none;transform:none}.carousel-photo{width:100%;cursor:inherit;display:block}.carousel-photo img{width:100%;aspect-ratio:var(--r);transition:none;display:block}@media (max-width:47.624em) and (orientation:portrait){.carousel-photo img{height:var(--row);object-fit:cover}}.tweet-wrapper{justify-content:center;display:flex}.twitter-tweet{border-left:none;border-radius:12px;overflow:hidden}.twitter-tweet iframe{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;border-radius:12px;border:none!important}@media (prefers-color-scheme:dark){.twitter-tweet iframe{--lightningcss-light: ;--lightningcss-dark:initial}}.video-frame{width:min(100cqw * var(--scale), var(--frame) * var(--r));max-width:100%;aspect-ratio:var(--r);background:var(--img-bg);outline-offset:2px;position:relative;overflow:hidden}.video-frame.is-resting{cursor:none}.video-frame.is-full{aspect-ratio:auto;background:var(--screen);width:100%;height:100%}.video-media,.video-poster,.video-hit{width:100%;height:100%;position:absolute;inset:0}.video-media{object-fit:contain;display:block}.video-tube{opacity:0;border:0}.is-started>.video-tube{opacity:1}.video-poster{object-fit:cover;pointer-events:none;transition-property:opacity;transition-duration:.3s;transition-timing-function:cubic-bezier(.645,.045,.355,1);transform:scale(1.01)}.is-started>.video-poster{opacity:0}.video-hit{cursor:pointer}@keyframes video-turn{to{transform:rotate(1turn)}}.video-note{inset:auto var(--gap-in) var(--gap-in);padding:calc(.4 * var(--fluid)) calc(.8 * var(--fluid));border-radius:calc(.125 * var(--line));color:var(--on-dark);background:var(--glass);text-align:center;margin:0;font-size:.87rem;line-height:1.3;position:absolute}.video-note a{color:inherit;text-decoration:underline}.video-controls{inset:auto var(--gap-in) var(--gap-in);align-items:center;gap:calc(.25 * var(--fluid));height:calc(1.5 * var(--line));padding-inline:calc(.4 * var(--fluid));border-radius:calc(.125 * var(--line));color:var(--on-dark);background:var(--glass);opacity:0;pointer-events:none;transition:opacity .2s cubic-bezier(.165,.84,.44,1);display:none;position:absolute;container:controls/inline-size}@media (prefers-reduced-motion:no-preference){.video-controls{transition:opacity .2s cubic-bezier(.165,.84,.44,1),transform .3s cubic-bezier(.165,.84,.44,1);transform:translateY(40%)}}.is-ready>.video-controls{display:flex}.video-frame:not(.is-idle)>.video-controls,.video-frame:focus-visible>.video-controls{opacity:1;pointer-events:auto;transform:none}.video-frame:has(:focus-visible)>.video-controls{opacity:1;pointer-events:auto;transform:none}@container controls (width<12em){.video-controls .video-mute,.video-controls .video-loop{display:none}}.video-button{aspect-ratio:1;padding:calc(.4 * var(--fluid));color:inherit;cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;transition:color .2s cubic-bezier(.165,.84,.44,1),background-color .2s cubic-bezier(.165,.84,.44,1);display:flex}@media (hover:hover){.video-button:hover{background-color:var(--glass-hover)}}:where(:root[data-hover]) .video-button:hover{background-color:var(--glass-hover)}@supports not (aspect-ratio:1){:root[data-hover] .video-button:hover{background-color:var(--glass-hover)}}.video-button.is-off{color:var(--glass-faint)}.video-button svg{width:calc(.9 * var(--fluid));height:calc(.9 * var(--fluid));fill:currentColor;transition:opacity .2s cubic-bezier(.165,.84,.44,1)}.video-button.is-waiting{position:relative}.video-button.is-waiting svg{opacity:.35}.video-button.is-waiting:after{content:"";border:2px solid #0000;border-top-color:currentColor;border-radius:50%;position:absolute;inset:12%}@media (prefers-reduced-motion:no-preference){.video-button.is-waiting:after{animation:.8s linear infinite video-turn}}.video-button .line{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.video-button .line .fill{fill:currentColor}.video-progress{padding-inline:calc(.25 * var(--fluid));border-radius:calc(.125 * var(--line));cursor:pointer;touch-action:none;flex:1;align-self:stretch;align-items:center;display:flex}.video-track{width:100%;height:calc(.2 * var(--fluid));background:var(--glass-faint);border-radius:100vmax;transition:height .2s cubic-bezier(.165,.84,.44,1);overflow:hidden}.is-scrubbing .video-track{height:calc(.4 * var(--fluid))}.video-indicator{transform-origin:0 0;background:currentColor;height:100%;transform:scaleX(0)}.embed-audio{width:100%}.embed-audio.file{display:block}.diagram{--pele-font:"Inter Display", var(--f-sans);--pele-font-mono:var(--f-mono);width:min(100%, var(--w), var(--frame) * var(--r))}.diagram>svg{width:100%;display:block}.chartjs-container{height:max(12 * var(--line), 40cqw);justify-content:center;align-items:center;width:100%;display:flex;position:relative}@keyframes slide-enter{0%{translate:0 calc(.333333 * var(--line));opacity:0}to{opacity:1;translate:0}}@keyframes reveal{0%{opacity:0;filter:brightness()blur(20px)}10%{opacity:1;filter:brightness(2)blur(10px)}to{opacity:1;filter:brightness()blur()}}@media (prefers-reduced-motion:no-preference){img[data-reveal]{opacity:0}img.reveal{animation:.6s cubic-bezier(.165,.84,.44,1) both reveal}html.navigated .slide-enter,html.navigated .slide-enter-content>*{--i:0;animation:.6s backwards slide-enter;animation-delay:calc(var(--i) * 60ms)}html.navigated .slide-enter-content>:first-child{--i:1!important}html.navigated .slide-enter-content>:nth-child(2){--i:2!important}html.navigated .slide-enter-content>:nth-child(3){--i:3!important}html.navigated .slide-enter-content>:nth-child(4){--i:4!important}html.navigated .slide-enter-content>:nth-child(5){--i:5!important}html.navigated .slide-enter-content>:nth-child(6){--i:6!important}html.navigated .slide-enter-content>:nth-child(7){--i:7!important}html.navigated .slide-enter-content>:nth-child(8){--i:8!important}html.navigated .slide-enter-content>:nth-child(9){--i:9!important}html.navigated .slide-enter-content>:nth-child(10){--i:10!important}html.navigated .slide-enter-content>:nth-child(11){--i:11!important}html.navigated .slide-enter-content>:nth-child(12){--i:12!important}html.navigated .slide-enter-content>:nth-child(13){--i:13!important}html.navigated .slide-enter-content>:nth-child(14){--i:14!important}html.navigated .slide-enter-content>:nth-child(15){--i:15!important}html.navigated .slide-enter-content>:nth-child(16){--i:16!important}html.navigated .slide-enter-content>:nth-child(17){--i:17!important}html.navigated .slide-enter-content>:nth-child(18){--i:18!important}html.navigated .slide-enter-content>:nth-child(19){--i:19!important}html.navigated .slide-enter-content>:nth-child(20),html.navigated .slide-enter-content>:nth-child(n+21){--i:20!important}}@media (scripting:none){img[data-src],.code-header .tooltip-container,article>.content>iframe:not([src]){display:none!important}.carousel-card{filter:none;transform:none}.carousel-figure{cursor:auto}.chartjs-container{height:auto}.chartjs-container canvas,.shimmer:before{display:none}.blur img{filter:none}}@supports not (container-type:inline-size){.carousel{--row:min(var(--frame), var(--column) * var(--scale) / var(--fit), var(--h))}@media (max-width:47.624em) and (orientation:portrait){.carousel{--row:min(var(--frame), var(--column) * var(--scale) / .666667, var(--h))}}.media,.carousel{--room:var(--break)}.carousel-figure{width:min(var(--column) * var(--scale), var(--row) * var(--r))}@media (max-width:47.624em) and (orientation:portrait){.carousel-figure{width:min(var(--column) * var(--scale), var(--row) * min(var(--r), .666667))}}.carousel::-webkit-scrollbar-track{margin-inline:calc(var(--reach) + var(--column) * (1 - var(--scale) / 2) / 2)}.photo>img,.photo>noscript>img{width:min(var(--w), var(--column) * var(--scale), var(--frame) * var(--r))}.photo>.small{--scale:.2}.viewer-slide img{width:min(100vw - 2 * var(--gutter), 100vw * var(--view), min(100vh - 2 * var(--gutter), 100vh * var(--view)) * var(--r))}article>.content>iframe,article>.content>video,article>.content>.chartjs-container,article>.content>.tweet-wrapper{width:min(100%, var(--column) * var(--scale))}.media>figcaption,.media>em{width:0;min-width:100%}.video-frame{width:min(var(--column) * var(--scale), var(--frame) * var(--r))}.chartjs-container{height:max(12 * var(--line), .4 * var(--column))}}@supports not (aspect-ratio:1){#main-content>article>.cover-img{width:calc(100% * var(--scale));margin-inline:auto}#main-content>article>.sr-only{clip-path:inset(50%);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}#main-content>article>blockquote:is(.author,.poem){width:fit-content;max-width:min(var(--prose), 100%);margin-inline:auto}article>.content>.carousel{margin-inline:calc(-1 * var(--reach))}.preview-img{height:auto;padding-top:75%}.preview-img.cover{padding-top:52.5%}.preview-img img,#post-list .card .image .preview-img img{position:absolute;top:0;left:0}.preview-img.cover img{height:100%}.carousel-photo img{height:min(var(--column) * var(--scale) / var(--r), var(--row))}.video-frame{height:calc(min(var(--column) * var(--scale), var(--frame) * var(--r)) / var(--r))}}
