@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;font-stretch:75% 100%;src:url(/_astro/bricolage-grotesque-vietnamese-wdth-normal.BKE08zty.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;font-stretch:75% 100%;src:url(/_astro/bricolage-grotesque-latin-ext-wdth-normal.DoS1gVTC.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;font-stretch:75% 100%;src:url(/_astro/bricolage-grotesque-latin-wdth-normal.Dtb2a5nO.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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-display:swap;font-weight:600;src:url(/_astro/ibm-plex-mono-cyrillic-ext-600-normal.V-xxqcpd.woff2) format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-600-normal.9HEixskS.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-mono-cyrillic-600-normal.CTOM6hUh.woff2) format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-600-normal.fLZuRloM.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-mono-vietnamese-600-normal.D2EvbN8M.woff2) format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-600-normal.iLQfcSjf.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-mono-latin-ext-600-normal.D38SheWl.woff2) format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-600-normal.DmB0ttJJ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-mono-latin-600-normal.BgSNZQsw.woff2) format("woff2"),url(/_astro/ibm-plex-mono-latin-600-normal.DWFSQ4vo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}a[data-astro-cid-4wqf5fnj]{transition:var(--transition-xx);text-decoration:underline;text-decoration-color:#6e8c56;text-decoration-thickness:1px;text-underline-offset:2.5px;transition-property:opacity,transform,text-decoration-color,-webkit-text-decoration-color;&[data-astro-cid-4wqf5fnj]:hover{opacity:.8;transform:scale(.999);transition:var(--transition-fast);text-decoration-color:#a6ffbf}&[data-nounderline]{text-decoration:none;text-underline-offset:unset;transition-property:opacity}}.breadcrumbs[data-astro-cid-qaanghzh]{font-weight:600;display:flex;align-items:center;bottom:var(--gap-2x);position:fixed;margin:0;border-radius:34px;z-index:999;height:48px;background:var(--bg);border:2px solid var(--green-fade);overflow:hidden;left:50%;transform:translate(-50%);justify-content:center;@media screen and (max-width:300px){width:calc(100vw - var(--body-margin-left) - var(--body-margin-right))}[data-subtitle],a{font-size:15px}[data-list-item]{position:relative;height:100%;transition:var(--transition-xx);flex-shrink:0;&:hover{background-color:var(--green-fade)}&:not(:first-child):before{content:"";position:absolute;left:0;height:50%;transform:translate(-3px) rotate(12deg) translateY(-50%);width:2px;background-color:#ff6d00;top:50%}>*{font-size:15px;height:100%;display:flex;align-items:center;padding-inline:var(--gap-2x)}}}:root{--font-fallback: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;--font-display: "Bricolage Grotesque Variable", var(--font-fallback);--font-body: "Bricolage Grotesque Variable", var(--font-fallback);--font-sans: var(--font-body);--font-mono: "IBM Plex Mono", Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, Bitstream Vera Sans Mono, Courier New, monospace;--text: 1rem;--type: var(--text) / var(--leading) var(--font-body);--type-body: var(--type);--page-width: 67rem;--content-width: 40rem;--footer-height: 3rem;--page-top: 8rem;--content-inline-start: 12rem;--content-inline-end: 12rem;--gap-s: 4px;--gap: 8px;--gap-2x: 16px;--gap-3x: 24px;--gap-4x: 32px;--gap-6x: 48px;--gap-8x: 64px;--gap-12x: 72px;--gap-16x: 128px;--leading: 1.75rem;--safe-area-inset-top: env(safe-area-inset-top, 0px);--safe-area-inset-right: env(safe-area-inset-right, 0px);--safe-area-inset-left: env(safe-area-inset-left, 0px);--safe-area-inset-bottom: env(safe-area-inset-bottom, 0px);--body-margin-left: max(1.5rem, var(--safe-area-inset-left));--body-margin-right: max(1.5rem, var(--safe-area-inset-right));--transition-xx: .24s;--transition-fast: .1s}:root{color-scheme:dark;--bg: #101010;--bg: #0b0f0b;--fg: #d7d7db;--fg-sec: #9c9c9c;--green-fade: rgba(30, 55, 38, .6);--green-accent: rgb(49 89 62 / 63%);--default-fg: #ffffff;--light-gray: #9c9c9c;--orange: #ff6d00}*{scrollbar-width:thin;scrollbar-color:#1e3726 transparent}*,:after,:before{box-sizing:border-box}html{font-size:1rem;scroll-behavior:smooth}html,body{text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;touch-action:manipulation}body{font-variation-settings:"wdth" 98;font-family:var(--font-sans);background:var(--bg);color:var(--fg);margin:0;line-height:1.5}#canvas{padding-left:var(--body-margin-left);padding-right:var(--body-margin-right);padding-bottom:var(--safe-area-inset-bottom);min-height:100vh}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--font-mono);font-size:1em}sub,sup{font-size:60%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}svg{shape-rendering:auto;vertical-align:middle}blockquote,figure{margin:0}a{color:inherit}h1,h2,h3,h4,h5{margin-block:0;scroll-margin-top:var(--page-top)}img{max-width:100%;border-radius:4px;display:block;object-fit:cover;width:100%;background-color:var(--orange)}@keyframes fadeIn{0%{opacity:0;clip-path:inset(5%);transform:scale(1.1111)}to{opacity:1;clip-path:inset(0);transform:scale(1)}}::selection{background-color:var(--orange);color:var(--bg)}[data-grid]{display:grid;&[data-grid-col="2"]{grid-template-columns:12rem var(--content-width)}&[data-grid-col="3"]{grid-template-columns:var(--content-inline-start) var(--content-width) var(--content-inline-end)}}[data-flex]{display:flex}[data-list]{padding:0;list-style:none}[data-prose]{[data-grid]{row-gap:var(--gap-3x)}}p{margin:0;line-height:var(--leading)}[data-subtitle]{font-size:14px;color:#9c9c9c;line-height:1.5;word-break:break-word;margin:0;hyphens:auto}hr{border:none;border-radius:4px;border-top:1px solid rgba(30,55,38,.5);width:100%;&.spacey{margin:var(--gap-3x) 0}}[data-comment]{color:var(--orange)}[data-card]{gap:8px;display:grid;align-items:start}[data-layout-center]{max-width:var(--page-width);margin:0 auto;padding-block:var(--page-top);>*{grid-column:2}}@media screen and (max-width:70rem){:root{--content-inline-gap: 100vw - var(--body-margin-left) - var(--body-margin-right) - var(--content-width);--content-inline-start: calc((var(--content-inline-gap)) / 2);--content-inline-end: calc((var(--content-inline-gap)) / 2)}}@media screen and (max-width:43rem){:root{--page-top: 4rem}[data-grid]{&[data-grid-col="3"]{grid-template-columns:1fr}}[data-layout-center]{>*{grid-column:unset}}}
