@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.xuaO2J-f.woff2) format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.DMdlQ8Kv.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:400;src:url(/_astro/ibm-plex-mono-cyrillic-400-normal.BSMlKf0J.woff2) format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-400-normal.CEL4l2ZJ.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:400;src:url(/_astro/ibm-plex-mono-vietnamese-400-normal.BulugwFq.woff2) format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-400-normal.DDuiU_S-.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:400;src:url(/_astro/ibm-plex-mono-latin-ext-400-normal.BmRBH3aV.woff2) format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-400-normal.D3D2R8hC.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:400;src:url(/_astro/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2) format("woff2"),url(/_astro/ibm-plex-mono-latin-400-normal.CvHOgSBP.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}.logo-text[data-astro-cid-cli2hg3f]{display:block;width:100%;text-align:center;font-family:IBM Plex Mono,monospace;font-weight:600;font-size:clamp(1.5rem,4.5vw + .5rem,3rem);line-height:1;color:currentColor;letter-spacing:0;white-space:nowrap}.logo-wrapper[data-astro-cid-zcz3g3ul]{padding:1rem 0;border-bottom:var(--brutalist-border)}.switcher[data-astro-cid-viorfdg3]{display:flex;gap:var(--spacing-xs);align-items:center}.switcher__button[data-astro-cid-viorfdg3]{background:transparent;border:var(--brutalist-border);box-shadow:var(--brutalist-inner-shadow);padding:var(--spacing-xs) var(--spacing-sm);color:rgb(var(--primary));cursor:pointer;font:var(--font-heading-xs);letter-spacing:.1em;min-width:3.5rem;min-height:2.75rem;transition:opacity .15s ease}.switcher__button[data-astro-cid-viorfdg3]:hover{opacity:.7}.header[data-astro-cid-oyihokm4]{color:rgb(var(--primary));display:flex;align-items:flex-start;justify-content:space-between;padding:var(--spacing-md-responsive)}@media(max-width:899px){.header[data-astro-cid-oyihokm4]{display:none}}.header__logo[data-astro-cid-oyihokm4]{flex:1}.header__switcher[data-astro-cid-oyihokm4]{display:flex;align-items:center}.header__navbar[data-astro-cid-oyihokm4]{background:rgb(var(--primary-bg));padding-left:var(--spacing-xl);font:var(--font-heading-sm-responsive);color:rgb(var(--primary));height:2.625rem;border-bottom:var(--brutalist-border);width:100%;display:flex;gap:1rem;align-items:center;justify-content:flex-start}.header__navbar--item[data-astro-cid-oyihokm4]{text-decoration:none;color:rgb(var(--primary))}.header__navbar--item[data-astro-cid-oyihokm4]:hover{text-decoration:underline}.logo[data-astro-cid-s3ojsf7b]{display:block;width:100%}.navbar[data-astro-cid-e72wszmw]{width:100%;display:grid;grid-template-columns:1fr;grid-template-rows:auto 1fr}.menu-list[data-astro-cid-e72wszmw]{grid-column:1/-1;list-style:none;padding:0;margin:0;display:none}.burger[data-astro-cid-e72wszmw]{display:none;margin-right:8px;border:0;background:transparent;pointer:cursor;outline:none;justify-self:end;background:none;border:none;cursor:pointer;gap:5px}.burger[data-astro-cid-e72wszmw]>span[data-astro-cid-e72wszmw]{display:block;width:4px;height:4px;background:rgb(var(--primary));margin:3px 0;border-radius:0;transition:all .4s ease-in-out}.burger[data-astro-cid-e72wszmw]:focus{outline:none;max-height:500px}.burger[data-astro-cid-e72wszmw]:focus span[data-astro-cid-e72wszmw]:first-child{transform-origin:2px 9px;transform:rotate(-90deg)}.burger[data-astro-cid-e72wszmw]:focus span[data-astro-cid-e72wszmw]:last-child{transform-origin:2px -5px;transform:rotate(-90deg)}button[data-astro-cid-e72wszmw].burger:focus+ul[data-astro-cid-e72wszmw].menu{max-height:500px}.menu[data-astro-cid-e72wszmw]{max-height:500px;display:flex;flex-direction:column;font:var(--font-text-lg-responsive);list-style:none;padding:0;margin:0;overflow:hidden;max-height:0;transition:all .6s ease-in-out}.menu[data-astro-cid-e72wszmw] li[data-astro-cid-e72wszmw]{display:block;margin:.5rem 0rem;transition:all .2s ease}.menu__link[data-astro-cid-e72wszmw]{text-decoration:none;color:rgb(var(--primary))}.menu__link[data-astro-cid-e72wszmw]:hover{text-decoration:underline}.menu__link--active[data-astro-cid-e72wszmw]{text-decoration:none}.menu__link--active[data-astro-cid-e72wszmw]:before{content:"> "}.menu__link--not-active[data-astro-cid-e72wszmw]:before{content:".  ";visibility:hidden}.header[data-astro-cid-gn7n2wlq]{color:rgb(var(--primary));padding:var(--spacing-sm) var(--spacing-md-responsive) 0;display:flex;flex-direction:column;gap:var(--spacing-sm)}@media(min-width:900px){.header[data-astro-cid-gn7n2wlq]{display:none}}.header__switcher[data-astro-cid-gn7n2wlq]{display:flex;justify-content:flex-end}.header__logo[data-astro-cid-gn7n2wlq]{width:100%;border-bottom:var(--brutalist-border);padding-bottom:var(--spacing-xs)}:root{--primary-light: 30, 27, 38;--secondary-light: 250, 247, 242;--primary-bg-light: 250, 247, 242;--secondary-bg-light: 30, 27, 38;--primary-dark: 245, 240, 248;--secondary-dark: 24, 20, 32;--primary-bg-dark: 24, 20, 32;--secondary-bg-dark: 245, 240, 248;--primary: var(--primary-light);--secondary: var(--secondary-light);--primary-bg: var(--primary-bg-light);--secondary-bg: var(--secondary-bg-light)}:root[data-theme=dark]{--primary: var(--primary-dark);--secondary: var(--secondary-dark);--primary-bg: var(--primary-bg-dark);--secondary-bg: var(--secondary-bg-dark);--brutalist-border: var(--brutalist-border-dark);--brutalist-inner-shadow: var(--brutalist-inner-shadow-dark)}:root{--max-page-width: 1536px;--max-reading-width: 720px;--spacing-xxs: .25rem;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 1.25rem;--spacing-lg: 2rem;--spacing-xl: 2.5rem;--spacing-xxl: 3rem;--spacing-xxxl: 3.5rem;--spacing-xxxxl: 4rem;--spacing-xxs-responsive: var(--spacing-xxs);--spacing-xs-responsive: var(--spacing-xs);--spacing-sm-responsive: var(--spacing-sm);--spacing-md-responsive: var(--spacing-md);--spacing-lg-responsive: var(--spacing-lg);--spacing-xl-responsive: var(--spacing-xl);--spacing-xxl-responsive: var(--spacing-xxl);--spacing-xxxl-responsive: var(--spacing-xxxl);--spacing-xxxxl-responsive: var(--spacing-xxxxl);--font-family: "Fira Sans", sans-serif;--font-weight-regular: 400;--font-weight-bold: 600;--font-size-xs: 1rem;--font-size-sm: 1.125rem;--font-size-md: 1.25rem;--font-size-lg: 1.5rem;--font-size-xl: 2rem;--font-size-xxl: 2.5rem;--font-size-xs-responsive: clamp( 1rem, 2vw + .5rem, 1.25rem );--font-size-sm-responsive: clamp( 1.125rem, 2.5vw + .75rem, 1.5rem );--font-size-md-responsive: clamp( 1.25rem, 3vw + 1rem, 1.75rem );--font-size-lg-responsive: clamp( 1.5rem, 3.5vw + 1rem, 2.25rem );--font-size-xl-responsive: clamp( 2rem, 4vw + 1.25rem, 3rem );--font-size-xxl-responsive: clamp( 2rem, 5vw + 1rem, 3.75rem );--font-family-text: "IBM Plex Mono", monospace;--font-family-heading: var(--font-family-text);--font-text-xs: var(--font-size-xs) var(--font-family-text);--font-text-sm: var(--font-size-sm) var(--font-family-text);--font-text-md: var(--font-size-md) var(--font-family-text);--font-text-lg: var(--font-size-lg) var(--font-family-text);--font-text-xl: var(--font-size-xl) var(--font-family-text);--font-text-xxl: var(--font-size-xxl) var(--font-family-text);--font-heading-xs: var(--font-weight-bold) var(--font-size-xs) var(--font-family-heading);--font-heading-sm: var(--font-weight-bold) var(--font-size-sm) var(--font-family-heading);--font-heading-md: var(--font-weight-bold) var(--font-size-md) var(--font-family-heading);--font-heading-lg: var(--font-weight-bold) var(--font-size-lg) var(--font-family-heading);--font-heading-xl: var(--font-weight-bold) var(--font-size-xl) var(--font-family-heading);--font-heading-xxl: var(--font-weight-bold) var(--font-size-xxl) var(--font-family-heading);--font-text-xs-responsive: var(--font-size-xs-responsive) var(--font-family-text);--font-text-sm-responsive: var(--font-size-sm-responsive) var(--font-family-text);--font-text-md-responsive: var(--font-size-md-responsive) var(--font-family-text);--font-text-lg-responsive: var(--font-size-lg-responsive) var(--font-family-text);--font-text-xl-responsive: var(--font-size-xl-responsive) var(--font-family-text);--font-text-xxl-responsive: var(--font-size-xxl-responsive) var(--font-family-text);--font-heading-xs-responsive: var(--font-weight-bold) var(--font-size-xs-responsive) var(--font-family-heading);--font-heading-sm-responsive: var(--font-weight-bold) var(--font-size-sm-responsive) var(--font-family-heading);--font-heading-md-responsive: var(--font-weight-bold) var(--font-size-md-responsive) var(--font-family-heading);--font-heading-lg-responsive: var(--font-weight-bold) var(--font-size-lg-responsive) var(--font-family-heading);--font-heading-xl-responsive: var(--font-weight-bold) var(--font-size-xl-responsive) var(--font-family-heading);--font-heading-xxl-responsive: var(--font-weight-bold) var(--font-size-xxl-responsive) var(--font-family-heading);--brutalist-border-light: 2px solid rgb(var(--primary-light));--brutalist-border-dark: 2px solid rgb(var(--primary-dark));--brutalist-border: var(--brutalist-border-light);--brutalist-inner-shadow-light: 0 3px 0 0 rgba(30, 27, 38, .12);--brutalist-inner-shadow-dark: 0 3px 0 0 rgba(0, 0, 0, .5);--brutalist-inner-shadow: var(--brutalist-inner-shadow-light);--ghost-margins: .5rem;--accent: 155, 135, 196;--accent-light: 220, 210, 235;--accent-dark: 90, 70, 130;--warm-accent: 196, 110, 84;--warm-accent-light: 232, 192, 178;--warm-accent-dark: 140, 70, 50;--accent-gradient: linear-gradient( 45deg, rgb(var(--accent)), rgb(var(--accent-light)) 30%, rgb(var(--primary-bg)) 60% );--button-border-radius: .75rem;--soft-radius: 10px;--soft-radius-sm: 6px;--heading-shadow-rgb: 38, 22, 70;--heading-shadow: .025em .025em 0 rgb(var(--heading-shadow-rgb)), .05em .05em 0 rgb(var(--heading-shadow-rgb)), .075em .075em 0 rgb(var(--heading-shadow-rgb)), .1em .1em 0 rgb(var(--heading-shadow-rgb)), .125em .125em 0 rgb(var(--heading-shadow-rgb)), .18em .18em 0 rgba(0, 0, 0, .35);--heading-shadow-soft: .08em .08em 0 rgba(var(--heading-shadow-rgb), .9), .14em .14em 0 rgba(0, 0, 0, .25)}:root[data-theme=dark]{--heading-shadow-rgb: 20, 10, 45;--heading-shadow: .025em .025em 0 rgb(var(--heading-shadow-rgb)), .05em .05em 0 rgb(var(--heading-shadow-rgb)), .075em .075em 0 rgb(var(--heading-shadow-rgb)), .1em .1em 0 rgb(var(--heading-shadow-rgb)), .125em .125em 0 rgb(var(--heading-shadow-rgb)), .18em .18em 0 rgba(0, 0, 0, .7);--heading-shadow-soft: .08em .08em 0 rgba(130, 105, 180, .95), .14em .14em 0 rgba(0, 0, 0, .6)}@media(min-width:600px){:root{--spacing-xxs-responsive: var(--spacing-xs);--spacing-xs-responsive: var(--spacing-sm);--spacing-sm-responsive: var(--spacing-md);--spacing-md-responsive: var(--spacing-lg);--spacing-lg-responsive: var(--spacing-xl);--spacing-xl-responsive: var(--spacing-xxl);--spacing-xxl-responsive: var(--spacing-xxl);--spacing-xxxl-responsive: var(--spacing-xxxl);--spacing-xxxxl-responsive: var(--spacing-xxxxl)}}@media(min-width:900px){:root{--spacing-xxs-responsive: var(--spacing-sm);--spacing-xs-responsive: var(--spacing-sm);--spacing-sm-responsive: var(--spacing-md);--spacing-md-responsive: var(--spacing-lg);--spacing-lg-responsive: var(--spacing-lg);--spacing-xl-responsive: var(--spacing-xl);--spacing-xxl-responsive: var(--spacing-xxl);--spacing-xxxl-responsive: var(--spacing-xxxl);--spacing-xxxxl-responsive: var(--spacing-xxxxl)}}@media(min-width:1200px){:root{--spacing-xxs-responsive: var(--spacing-md);--spacing-xs-responsive: var(--spacing-md);--spacing-sm-responsive: var(--spacing-lg);--spacing-md-responsive: var(--spacing-lg);--spacing-lg-responsive: var(--spacing-xl);--spacing-xl-responsive: var(--spacing-xl);--spacing-xxl-responsive: var(--spacing-xxl);--spacing-xxxl-responsive: var(--spacing-xxxl);--spacing-xxxxl-responsive: var(--spacing-xxxxl)}}@media(min-width:1536px){:root{--spacing-xxs-responsive: var(--spacing-md);--spacing-xs-responsive: var(--spacing-lg);--spacing-sm-responsive: var(--spacing-lg);--spacing-md-responsive: var(--spacing-xl);--spacing-lg-responsive: var(--spacing-xl);--spacing-xl-responsive: var(--spacing-xxl);--spacing-xxl-responsive: var(--spacing-xxl);--spacing-xxxl-responsive: var(--spacing-xxxl);--spacing-xxxxl-responsive: var(--spacing-xxxxl)}}@media(prefers-color-scheme:dark){:root{--primary: var(--primary-dark);--secondary: var(--secondary-dark);--primary-bg: var(--primary-bg-dark);--secondary-bg: var(--secondary-bg-dark);--brutalist-border: var(--brutalist-border-dark);--brutalist-inner-shadow: var(--brutalist-inner-shadow-dark)}}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}html{font-family:var(--font-family-text);background:rgb(var(--primary-bg));background-size:224px}body{position:relative;isolation:isolate}.parallax-bg{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden}.parallax-bg__layer{position:absolute;inset:-20vh -20vw;width:calc(100% + 40vw);height:calc(100% + 40vh);will-change:transform}.parallax-bg__layer--back{transform:translate3d(0,calc(var(--parallax-y, 0) * .15),0)}.parallax-bg__layer--mid{transform:translate3d(0,calc(var(--parallax-y, 0) * .4),0)}.parallax-bg__layer--front{transform:translate3d(0,calc(var(--parallax-y, 0) * .7),0)}.parallax-bg__blob{position:absolute;transform-origin:center}.parallax-bg__blob svg{display:block;width:100%;height:100%;filter:blur(60px)}:root .parallax-bg__blob{opacity:.14}:root[data-theme=dark] .parallax-bg__blob{opacity:.09}@media(prefers-reduced-motion:reduce){.parallax-bg__layer{transform:none!important}}code{font-family:Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace}.text-extruded,h1,h2,h3,h4,h5,h6,.highlighted{text-shadow:var(--heading-shadow)}.text-extruded--soft{text-shadow:var(--heading-shadow-soft)}p,li,dd,td,th,figcaption,blockquote,a,label,legend,summary,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}.container[data-astro-cid-i4tgljln]{margin-top:var(--margin-top);max-width:var(--max-page-width);margin-left:auto;margin-right:auto;padding-left:var(--spacing-md-responsive);padding-right:var(--spacing-md-responsive)}@media(min-width:600px){.container[data-astro-cid-i4tgljln]{padding-left:var(--spacing-lg);padding-right:var(--spacing-lg)}}.wip-stamp[data-astro-cid-sckkx6r4]{position:fixed;top:12vh;right:-3vw;z-index:9999;pointer-events:none;transform:rotate(14deg);opacity:.85}.wip-stamp__text[data-astro-cid-sckkx6r4]{display:inline-block;font-family:IBM Plex Mono,monospace;font-weight:700;font-size:clamp(1.5rem,3.2vw,3rem);letter-spacing:.08em;color:#c8281b;padding:.4em .9em;border:.22em solid #c8281b;border-radius:6px;background:#fff0eb14;text-shadow:.04em .04em 0 rgba(0,0,0,.25);box-shadow:inset 0 0 0 .08em #c8281b,.05em .05em #0003;white-space:nowrap}@media(max-width:600px){.wip-stamp[data-astro-cid-sckkx6r4]{top:auto;bottom:4vh;right:-4vw;transform:rotate(-10deg)}.wip-stamp__text[data-astro-cid-sckkx6r4]{font-size:1.1rem}}.heading[data-astro-cid-344l6ojx]{font:var(--font-heading-lg-responsive);color:rgb(var(--primary))}@media(min-width:900px){.heading[data-astro-cid-344l6ojx]{padding:0}}.littleboxes[data-astro-cid-pot7uuou]{margin-top:var(--margin-top);display:grid;gap:var(--spacing-lg)}@media(min-width:900px){.littleboxes[data-astro-cid-pot7uuou]{grid-template-columns:1fr 1fr}}@media(min-width:1200px){.littleboxes[data-astro-cid-pot7uuou]{grid-template-columns:1fr 1fr 1fr}}.weirdbox[data-astro-cid-5o7ywcp4]{z-index:0;position:relative;display:flex;height:100%}.weirdbox--rounded[data-astro-cid-5o7ywcp4]{border-radius:var(--button-border-radius)}.weirdbox__contents[data-astro-cid-5o7ywcp4]{padding:var(--spacing-lg-responsive);padding-top:var(--spacing-md-responsive);position:relative;font:var(--font-heading-sm-responsive);border:var(--brutalist-border);border-radius:var(--soft-radius);background:rgb(var(--primary-bg));box-shadow:4px 4px rgba(var(--accent),.35);color:rgb(var(--primary));min-height:200px;width:100%;display:flex;flex-direction:column;transition:transform .18s ease,box-shadow .18s ease}@media(min-width:600px){.weirdbox__contents[data-astro-cid-5o7ywcp4]{padding-top:calc(var(--spacing-md-responsive) - var(--ghost-margins))}}.weirdbox[data-astro-cid-5o7ywcp4]:hover .weirdbox__contents[data-astro-cid-5o7ywcp4]{transform:translate(-2px,-2px);box-shadow:6px 6px rgba(var(--accent),.5)}.weirdbox__title[data-astro-cid-5o7ywcp4]{font:var(--font-heading-md-responsive)}.weirdbox__text[data-astro-cid-5o7ywcp4]{margin-top:var(--spacing-xxs-responsive);font:var(--font-text-sm-responsive)}.content[data-astro-cid-y3ouyuz2]{font:var(--font-text-xs-responsive);color:rgb(var(--primary));display:flex;flex-direction:column;gap:var(--spacing-xs-responsive)}@media(min-width:900px){.content[data-astro-cid-y3ouyuz2]{padding:0;text-align:left}}.content__heading[data-astro-cid-y3ouyuz2]{font:var(--font-heading-xxl-responsive);color:rgb(var(--primary));text-align:center}@media(min-width:900px){.content__heading[data-astro-cid-y3ouyuz2]{text-align:left}}.content__body[data-astro-cid-y3ouyuz2]{font:var(--font-text-md-responsive);color:rgb(var(--primary));text-align:center}@media(min-width:900px){.content__body[data-astro-cid-y3ouyuz2]{text-align:left}}.banner[data-astro-cid-y3ouyuz2]{align-items:center}.section[data-astro-cid-sh445jdo]{margin-top:var(--margin-top)}.track-link[data-astro-cid-fb4xz3fc]{display:block;height:100%;color:rgb(var(--primary));text-decoration:none;transition:opacity .15s ease}.track-link[data-astro-cid-fb4xz3fc]:hover{opacity:.75}.landing[data-astro-cid-fb4xz3fc]{display:flex;flex-direction:column}.landing__text[data-astro-cid-fb4xz3fc]{margin-top:var(--spacing-xs-responsive);font:var(--font-text-sm-responsive);color:rgb(var(--primary))}.cta-link[data-astro-cid-fb4xz3fc]{display:inline-block;margin-top:var(--spacing-md-responsive);font:var(--font-text-sm-responsive);color:rgb(var(--primary));text-underline-offset:3px}.footer[data-astro-cid-fb4xz3fc]{display:flex;margin-top:10dvh;padding-top:var(--spacing-lg-responsive);padding-bottom:var(--spacing-xl-responsive);border-top:var(--brutalist-border)}.footer__links[data-astro-cid-fb4xz3fc]{list-style:none;margin:0;padding:0;width:100%;display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-xs-responsive) var(--spacing-lg-responsive)}.footer__link[data-astro-cid-fb4xz3fc]{font:var(--font-text-sm-responsive);text-underline-offset:3px;color:rgb(var(--primary));transition:opacity .2s}.footer__link--external[data-astro-cid-fb4xz3fc]{opacity:.75}.footer__link--external[data-astro-cid-fb4xz3fc]:hover{opacity:1}
