@font-face{font-family:IBM Plex Mono;font-style:italic;font-weight:400;font-display:swap;src:url(/assets/a46a75cfd765634f-s.p.0i_4norqw3xaj.woff2)format("woff2");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:IBM Plex Mono;font-style:italic;font-weight:500;font-display:swap;src:url(/assets/21c1dee959b18079-s.p.0oe7mrm8dlntz.woff2)format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/99e609270109b47d-s.p.40sczeszzbjw1.woff2)format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/effe91970fc4db64-s.p.0oace-s_gkfks.woff2)format("woff2");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}.ibm_plex_mono_2ce75a12-module__ZlWgVW__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback}.ibm_plex_mono_2ce75a12-module__ZlWgVW__variable{--font-plex:"IBM Plex Mono", "IBM Plex Mono Fallback"}
@font-face{font-family:Roboto;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/assets/3ea983dfb1f1ac79-s.p.1ot4xwh_pm5st.woff2)format("woff2");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}.roboto_b43dec72-module__SIUo4q__className{font-family:Roboto,Roboto Fallback;font-style:normal;font-weight:400}.roboto_b43dec72-module__SIUo4q__variable{--font-roboto:"Roboto", "Roboto Fallback"}
*,:before,:after{box-sizing:border-box}html,body,p,h1,h2,blockquote,figure{margin:0}h1,h2{font:inherit}a{color:inherit;text-decoration:none}svg{display:block}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fff;--ink:#1b1f23;--text:#3b4148;--mute:#959ba2;--faint:#cfd4d9;--hair:#eceef1;--line:#f4f6f8;--sel:#e1e9f2;--slate:#46688a;--slate-bg:#5b7b9b;--sage:#52775f;--clay:#c2643a;--cursor:#5b7b9b33;--cursor-edge:#5b7b9b8c;--mono:var(--font-plex), ui-monospace, "SF Mono", Menlo, Consolas, monospace;--fs:14px;--lh:26px;--gut:4ch;--gap:2ch;--ease:cubic-bezier(.16, 1, .3, 1);--ease-io:cubic-bezier(.65, 0, .35, 1)}@media (max-width:640px){:root{--fs:12.5px;--lh:22px;--gut:2ch;--gap:1.5ch}}html{background:var(--bg);-webkit-text-size-adjust:100%}body{min-height:100svh;color:var(--text);font:400 var(--fs) / var(--lh) var(--mono);font-variant-ligatures:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip}::selection{background:var(--sel);color:var(--ink)}.cap{z-index:30;background:var(--bg);place-items:center;padding:16px 16px 7vh;transition:opacity .75s;display:grid;position:fixed;inset:0}.cap.is-leaving{opacity:0;pointer-events:none}.rc{color:#000;width:304px;height:78px;font-family:var(--font-roboto), Roboto, Helvetica, Arial, sans-serif;-webkit-font-smoothing:auto;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:transform .9s var(--ease), filter .75s ease;background:#f9f9f9;border:1px solid #d3d3d3;border-radius:3px;justify-content:space-between;align-items:center;display:flex;box-shadow:0 0 4px 1px #00000014}.cap.is-leaving .rc{filter:blur(5px);transform:translateY(-6px)scale(.97)}.rc-hit{align-items:center;gap:12px;height:100%;padding-left:12px;display:flex}.rc-box{cursor:pointer;border-radius:2px;outline:none;flex:none;width:28px;height:28px;position:relative}.rc-border{transition:border-color .12s ease, border-radius .3s ease, transform .35s var(--ease), opacity .25s ease;background:#fff;border:2px solid #c1c1c1;border-radius:2px;position:absolute;inset:0}.rc-box:hover .rc-border{border-color:#b2b2b2}.rc-box:focus-visible .rc-border{border-color:#4d90fe}.rc:not([data-state=idle]) .rc-border{opacity:0;border-radius:50%;transform:scale(.35)}.rc-spin{opacity:0;transition:opacity .25s ease, transform .4s var(--ease);position:absolute;inset:-2px;transform:scale(.4)}.rc-spin svg{fill:none;stroke:#4a90e2;stroke-width:3px;stroke-linecap:round;width:100%;height:100%}.rc[data-state=loading] .rc-spin{opacity:1;transform:none}.rc:not([data-state=idle]) .rc-spin svg{animation:1.1s linear infinite rc-rot}.rc:not([data-state=idle]) .rc-spin circle{animation:1.4s ease-in-out infinite rc-dash}.rc[data-state=checked] .rc-spin{transition-duration:.18s;transform:scale(.6)}@keyframes rc-rot{to{transform:rotate(360deg)}}@keyframes rc-dash{0%{stroke-dasharray:1 90;stroke-dashoffset:0}50%{stroke-dasharray:50 90;stroke-dashoffset:-14px}to{stroke-dasharray:50 90;stroke-dashoffset:-77px}}.rc-check{fill:none;stroke:#009e55;stroke-width:4px;stroke-linecap:butt;stroke-linejoin:miter;width:38px;height:38px;position:absolute;top:-9px;left:-3px;overflow:visible}.rc-check path{stroke-dasharray:1;stroke-dashoffset:1px}.rc[data-state=checked] .rc-check path{stroke-dashoffset:0;transition:stroke-dashoffset .5s cubic-bezier(.65,0,.35,1) .12s}.rc-label{white-space:nowrap;font-size:14px;line-height:17px}.rc-brand{color:#555;text-align:center;flex-direction:column;justify-content:center;align-self:stretch;align-items:center;width:70px;margin-right:6px;padding-top:2px;display:flex}.rc-logo{fill:none;stroke-width:3px;width:32px;height:32px}.rc-head{stroke:none}.rc-arm-1{stroke:#4a90e2;fill:#4a90e2}.rc-arm-2{stroke:#b4b4b4;fill:#b4b4b4}.rc-arm-3{stroke:#8f99a6;fill:#8f99a6}.rc-arm path:first-child{fill:none}.rc-name{margin-top:4px;font-size:10px;line-height:12px}.rc-terms{margin-top:2px;font-size:8px;line-height:10px}.page{width:min(100% - 32px,80ch);margin:0 auto;padding:clamp(36px,10vh,120px) 0 clamp(48px,12vh,120px)}@media (max-width:640px){.page{padding-top:40px}}.site:not([data-phase=editor]) .page{height:100svh;overflow:hidden}.site[data-phase=captcha] .page{visibility:hidden}.site:target .cap{display:none}.site:target .page,.site:target .buf{opacity:1;visibility:visible;height:auto;overflow:visible}.site:target .hid{visibility:visible}.site:target .ln.is-pend .num,.site:target .ln.is-pend .pic{opacity:1;filter:none;transform:none}.site:target .ln.is-pend .tld{opacity:0}.sh{min-height:calc(var(--lh) * 2);margin-bottom:var(--lh);justify-content:space-between;align-items:flex-start;gap:2ch;display:flex}.sh-lines{min-width:0;transition:opacity .9s}.site[data-phase=editor] .sh-lines{opacity:.5}.sh-ln{white-space:pre;animation:rise .4s var(--ease) both}.sh-cwd{color:var(--slate)}.sh-gt{color:var(--mute)}.sh-cmd{color:var(--ink)}.sh-caret{position:relative}.sh-caret:after{content:"";background:var(--cursor);width:1ch;box-shadow:inset 0 0 0 1px var(--cursor-edge);animation:blink 1.15s var(--ease-io) .45s infinite;border-radius:2px;position:absolute;top:1px;bottom:1px;left:0}@keyframes rise{0%{opacity:0;transform:translateY(4px)}}@keyframes blink{0%,45%{opacity:1}60%,92%{opacity:0}}.buf{opacity:0;visibility:hidden;transition:opacity .5s,visibility 0s .5s;position:relative}.site[data-phase=editor] .buf{opacity:1;visibility:visible;transition:opacity .5s}.ln{z-index:0;grid-template-columns:var(--gut) minmax(0, 1fr);column-gap:var(--gap);scroll-margin:72px 0;display:grid;position:relative}.ln:before{content:"";z-index:-1;inset:0 -12px 0 calc(var(--gut) + var(--gap) / 2);background:var(--line);opacity:0;border-radius:5px;transition:opacity .2s;position:absolute}.ln.is-cur:before{opacity:1}.site[data-mode=normal] .ln:hover:before{opacity:.6}.site[data-mode=normal] .ln.is-cur:before{opacity:1}.gut{color:var(--faint);text-align:right;font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;position:relative}.num{transition:opacity .3s,color .25s}.ln.is-pend .num{opacity:0}.ln.is-cur .num{color:var(--ink)}.tld{text-align:left;white-space:pre;transition:opacity .25s;position:absolute;inset:0;overflow:hidden}.ln:not(.is-pend) .tld{opacity:0}.eob{color:var(--faint);white-space:pre;-webkit-user-select:none;user-select:none}.tx{min-width:0;min-height:var(--lh);white-space:pre-wrap;overflow-wrap:break-word;padding-left:var(--hang,0ch);text-indent:calc(-1 * var(--hang,0ch))}.hid{visibility:hidden}.pic{width:auto;max-width:100%;height:calc(var(--lh) * var(--rows));object-fit:cover;transform-origin:0;transition:opacity .7s ease, filter .9s var(--ease), transform .9s var(--ease);border-radius:4px;display:block;box-shadow:0 0 0 1px #1b1f230f}.ln.is-pend .pic{opacity:0;filter:blur(10px)saturate(.6);transform:scale(.985)}.ln.is-pic:before{content:none}.tk-punct{color:var(--mute)}.tk-key{color:var(--sage)}.tk-num,.tk-mark{color:var(--clay)}.tk-head,.tk-strong{color:var(--ink);font-weight:500}.tk-cmt{color:var(--mute);white-space:nowrap;font-style:italic}.lnk{color:var(--slate);white-space:normal;text-underline-offset:3px;border-radius:2px;text-decoration-line:underline;text-decoration-color:#46688a4d;text-decoration-thickness:1px;transition:background-color .18s,box-shadow .18s,text-decoration-color .18s;position:relative}.lnk:after{content:"↗";color:var(--slate);opacity:0;transition:opacity .18s ease, transform .3s var(--ease);pointer-events:none;font-size:.72em;line-height:1;position:absolute;top:-.5em;right:-1em;transform:translate(-3px,3px)}.lnk:hover{background:var(--sel);box-shadow:0 0 0 2px var(--sel);text-decoration-color:#0000}.lnk:hover:after{opacity:1;transform:none}.lnk.tk-chip{background:var(--slate-bg);color:#f5f8fb;border-radius:3px;padding:2px 7px;text-decoration-color:#0000}.lnk.tk-chip:hover{background:var(--slate);box-shadow:none}.lnk.tk-chip:after{content:none}.lnk:focus-visible{outline:1.5px solid var(--slate);outline-offset:2px}.beam{position:relative}.beam:after{content:"";background:var(--slate-bg);border-radius:1px;width:2px;position:absolute;top:1px;bottom:1px;left:-1px}.blk{position:relative}.blk:before{content:"";z-index:-1;background:var(--cursor);box-shadow:inset 0 0 0 1px var(--cursor-edge);animation:blink 1.15s var(--ease-io) .6s infinite;border-radius:2px;position:absolute;inset:-1px 0}.sh-lines.is-past{opacity:.5}.blog .sh-ln{white-space:normal;overflow-wrap:anywhere}.post .tk-cmt{white-space:pre-wrap}.sh-path{border-radius:2px;transition:background-color .18s,color .18s}.sh-path:hover{background:var(--sel);color:var(--slate)}.post .ln{animation:rise .5s var(--ease) both;animation-delay:calc(var(--i,0) * 14ms)}.post .ln:hover:before{opacity:.6}.post .ln:target:before{opacity:1;background:var(--sel)}.tk-quote{color:var(--ink);font-weight:500}.tk-em{font-style:italic}.tk-code{background:var(--line);color:var(--ink);font:inherit;border-radius:3px;padding:1px 4px}.fnref{color:var(--mute);border-radius:2px;transition:color .15s,background-color .15s}.fnref:hover{color:var(--slate);background:var(--sel)}.fig{border:1px solid var(--hair);white-space:normal;text-indent:0;background:#fcfcfd;border-radius:8px;margin:8px 0 6px;padding:14px 16px 12px}.fig-t{color:var(--ink);margin-bottom:12px;font-weight:500}.fig-n{color:var(--mute);margin-top:12px;font-size:.86em;line-height:1.6}.bars{gap:4px;display:grid}.bar-row{grid-template-columns:13ch minmax(0,1fr) 7ch;align-items:center;column-gap:1.5ch;display:grid}.bars-log .bar-row{grid-template-columns:15ch 7ch minmax(0,1fr) 7ch}.bar-lbl{color:var(--text);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.bar-date{color:var(--mute);white-space:nowrap}.bar-track{background:var(--line);border-radius:3px;height:10px;position:relative}.bar{width:var(--w);background:var(--slate-bg);border-radius:3px;position:absolute;inset:0 auto 0 0}.bar.is-hot{background:var(--clay)}.bar-mark{top:-5px;bottom:-5px;left:var(--w);border-left:1.5px dashed var(--clay);position:absolute}.bar-val{color:var(--ink);text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.bar-ticks{height:var(--lh);color:var(--mute);font-size:.86em;position:relative}.bar-ticks span{left:var(--w);position:absolute;transform:translate(-50%)}.bar-ticks span:first-child{transform:none}@media (max-width:640px){.bars-log .bar-row{grid-template-columns:12ch minmax(0,1fr) 7ch}.bar-date{display:none}.bar-row{grid-template-columns:9ch minmax(0,1fr) 7ch}}.fig-svg{width:100%;max-width:480px;height:auto;font-family:var(--mono);margin:0 auto;font-size:12px;display:block;overflow:visible}.svg-sm{font-size:10px}.svg-box{fill:#fff;stroke:var(--faint)}.svg-box-hot{stroke:var(--clay)}.svg-line{fill:none;stroke:var(--mute);stroke-width:1.2px}.svg-back{stroke-dasharray:3 3}.svg-head{fill:var(--mute)}.svg-axis{fill:none;stroke:var(--faint)}.svg-grid{fill:none;stroke:var(--hair);stroke-dasharray:2 3}.svg-ink{fill:var(--ink)}.svg-dim{fill:var(--mute)}.svg-hot{fill:var(--clay)}.svg-ok{fill:var(--sage)}.svg-dot{fill:var(--slate-bg)}.svg-dot-hot{fill:var(--clay)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
