@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:300;font-display:swap;src:url(../media/20aee433927f7d4b-s.2u46yrlpkdxrh.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:300;font-display:swap;src:url(../media/256e1f7f180674ba-s.444m1fhac1z6e.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:300;font-display:swap;src:url(../media/be3bf58b83159894-s.1298pfel08g2l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:300;font-display:swap;src:url(../media/753b6407f468151f-s.1wcle8r8k1a_g.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:300;font-display:swap;src:url(../media/292081311a6a8abc-s.3irbj1um1c5rd.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:300;font-display:swap;src:url(../media/68d403cf9f2c68c5-s.p.42000xkkqj0am.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:"Source Serif 4";font-style:normal;font-weight:400;font-display:swap;src:url(../media/20aee433927f7d4b-s.2u46yrlpkdxrh.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:400;font-display:swap;src:url(../media/256e1f7f180674ba-s.444m1fhac1z6e.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:400;font-display:swap;src:url(../media/be3bf58b83159894-s.1298pfel08g2l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:400;font-display:swap;src:url(../media/753b6407f468151f-s.1wcle8r8k1a_g.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:400;font-display:swap;src:url(../media/292081311a6a8abc-s.3irbj1um1c5rd.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:400;font-display:swap;src:url(../media/68d403cf9f2c68c5-s.p.42000xkkqj0am.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:"Source Serif 4";font-style:normal;font-weight:600;font-display:swap;src:url(../media/20aee433927f7d4b-s.2u46yrlpkdxrh.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:600;font-display:swap;src:url(../media/256e1f7f180674ba-s.444m1fhac1z6e.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:600;font-display:swap;src:url(../media/be3bf58b83159894-s.1298pfel08g2l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:600;font-display:swap;src:url(../media/753b6407f468151f-s.1wcle8r8k1a_g.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:600;font-display:swap;src:url(../media/292081311a6a8abc-s.3irbj1um1c5rd.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:600;font-display:swap;src:url(../media/68d403cf9f2c68c5-s.p.42000xkkqj0am.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:"Source Serif 4 Fallback";src:local(Times New Roman);ascent-override:87.87%;descent-override:28.41%;line-gap-override:0.0%;size-adjust:117.91%}.source_serif_4_f47e6591-module__3N03La__className{font-family:"Source Serif 4","Source Serif 4 Fallback";font-style:normal}.source_serif_4_f47e6591-module__3N03La__variable{--font-source-serif:"Source Serif 4", "Source Serif 4 Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/04c5164763c40239-s.1zakzi6q17d4o.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/26f284dcc38c84c0-s.2htf8h-pf57mm.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/7e7f32a39836f228-s.3skwie1wjplzh.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fa39153a3fc630ba-s.3zhbgtelpa5ua.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3vf5yzuqk3fsd.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/051742360c26797e-s.p.1wmoa0e_blxrz.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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/04c5164763c40239-s.1zakzi6q17d4o.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/26f284dcc38c84c0-s.2htf8h-pf57mm.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/7e7f32a39836f228-s.3skwie1wjplzh.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/fa39153a3fc630ba-s.3zhbgtelpa5ua.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3vf5yzuqk3fsd.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/051742360c26797e-s.p.1wmoa0e_blxrz.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:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_ee5be2ef-module__RCFbLq__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_ee5be2ef-module__RCFbLq__variable{--font-jetbrains-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
.prose{gap:var(--space-5);flex-direction:column;display:flex}.prose>*,.prose p{margin:0}.prose ul,.prose ol{padding-left:var(--space-5);gap:var(--space-2);font:var(--text-body);color:var(--color-muted);max-width:var(--measure);flex-direction:column;margin:0;display:flex}.prose li::marker{color:var(--color-accent)}.prose li>p{margin:0}.prose hr{border:0;border-top:var(--border-hairline) solid var(--color-rule);width:100%;margin:var(--space-3) 0}.prose a{color:var(--color-accent-strong)}.prose table{border-collapse:collapse;width:100%;font:var(--text-summary);color:var(--color-muted);display:block;overflow-x:auto}.prose th,.prose td{text-align:left;padding:var(--space-2) var(--space-3);border-bottom:var(--border-hairline) solid var(--color-rule)}.prose th{font:var(--text-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-muted-strong)}.prose-heading{align-items:baseline;gap:var(--space-2);margin:var(--space-4) 0 0;color:var(--color-text);font:var(--text-feed);text-wrap:balance;scroll-margin-top:var(--space-6);display:flex}h3.prose-heading{font:600 17px/1.4 var(--font-serif)}.anchor{color:var(--color-accent);font:var(--text-meta);opacity:0;transition:opacity var(--motion-color);flex:none;text-decoration:none}.prose-heading:hover .anchor,.anchor:focus-visible{opacity:1}@media (hover:none){.anchor{opacity:1}}.code-block{position:relative}.code-block pre.code{white-space:pre}.code-block pre.code code{font:inherit;color:inherit;background:0 0;border-radius:0;padding:0}.code-block__copy{top:var(--space-2);right:var(--space-2);border-radius:var(--radius-field);border:var(--border-hairline) solid var(--color-code-fg);background:var(--color-code-bg);color:var(--color-code-fg);font:500 10px/1 var(--font-mono);cursor:pointer;opacity:0;transition:opacity var(--motion-surface);padding:6px 10px;position:absolute}.code-block:hover .code-block__copy,.code-block__copy:focus-visible{opacity:1}@media (hover:none){.code-block__copy{opacity:1}}.figure{gap:var(--space-2);flex-direction:column;margin:0;display:flex}.figure__image{aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius-block);width:100%;height:auto;display:block}.figure__image--wide{aspect-ratio:21/9}.figure__image--portrait{aspect-ratio:3/4}.figure__image--screenshot{aspect-ratio:16/10;object-fit:contain;border:var(--border-hairline) solid var(--color-rule-strong);border-radius:var(--radius-field);transition:filter var(--motion-surface)}@media (prefers-color-scheme:dark){:root:not([data-mode=light]) .figure__image--screenshot{filter:brightness(.92)}:root:not([data-mode=light]) .figure__image--screenshot:hover{filter:none}}:root[data-mode=dark] .figure__image--screenshot{filter:brightness(.92)}:root[data-mode=dark] .figure__image--screenshot:hover,:root[data-mode=light] .figure__image--screenshot{filter:none}@media (min-width:900px){.figure--wide{--figure-width:min(var(--page-max), calc(100vw - 2 * var(--page-gutter)));width:var(--figure-width);margin-left:calc((100% - var(--figure-width)) / 2)}}.figure__pair{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}@media (max-width:600px){.figure__pair{grid-template-columns:1fr}}.figure__caption{font:var(--text-meta);color:var(--color-muted);text-align:left}.figure__placeholder{border:var(--border-hairline) dashed var(--color-rule-strong);color:var(--color-muted);font:var(--text-meta);object-fit:unset;background:0 0;justify-content:center;align-items:center;display:flex}
.article{gap:var(--space-8);grid-template-columns:1fr 200px;align-items:start;display:grid}@media (max-width:900px){.article{gap:var(--space-5);grid-template-columns:1fr}}.article__body{gap:var(--space-5);max-width:var(--measure);flex-direction:column;min-width:0;display:flex}.article__meta{align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.article__tags{gap:var(--space-2);padding-top:var(--space-5);border-top:var(--border-hairline) solid var(--color-rule);flex-wrap:wrap;display:flex}.article__translation{color:var(--color-muted-strong);transition:color var(--motion-color);align-self:center;margin-left:auto;text-decoration:none}.article__translation:hover{color:var(--color-accent-strong)}.article__block{gap:var(--space-3);flex-direction:column;display:flex}.article__block-title{color:var(--color-muted);margin:0}.article__block-head{justify-content:space-between;align-items:baseline;gap:var(--space-4);flex-wrap:wrap;display:flex}.article__related{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}@media (max-width:600px){.article__related{grid-template-columns:1fr}}.related-card{gap:var(--space-2);padding:var(--space-3) var(--space-4);transition:border-color var(--motion-color);flex-direction:column;text-decoration:none;display:flex}.related-card:hover{border-color:var(--color-accent)}.related-card__title{font:400 16px/1.4 var(--font-serif);color:var(--color-text)}.article__neighbours{gap:var(--space-5);margin-top:var(--space-3);grid-template-columns:1fr 1fr;display:grid}@media (max-width:600px){.article__neighbours{grid-template-columns:1fr}}.neighbour{gap:var(--space-2);border-top:var(--border-hairline) solid var(--color-rule);padding-top:var(--space-3);flex-direction:column;text-decoration:none;display:flex}.neighbour--next{text-align:right}.neighbour__title{font:400 16px/1.4 var(--font-serif)}.article__aside{align-self:stretch;min-width:0}.toc-box{gap:var(--space-2);top:var(--space-5);flex-direction:column;display:flex;position:sticky}.toc-heading{margin:0 0 var(--space-1);color:var(--color-muted);border-bottom:var(--border-hairline) solid var(--color-rule);padding-bottom:6px}.toc a[data-level="3"]{padding-left:var(--space-3)}.toc-toggle{justify-content:space-between;align-items:center;gap:var(--space-3);border:var(--border-hairline) solid var(--color-rule-strong);border-radius:var(--radius-field);width:100%;color:var(--color-muted-strong);cursor:pointer;transition:border-color var(--motion-color), color var(--motion-color);background:0 0;padding:10px 13px;display:none}.toc-toggle:hover{color:var(--color-text);border-color:var(--color-text)}@media (max-width:900px){.toc-box{position:static}.toc-toggle{display:flex}.toc-heading,.toc-box:not([data-open]) .toc{display:none}.toc-box[data-open] .toc{padding:var(--space-3) 0 0 var(--space-3);border-left:2px solid var(--color-accent)}}
.mode-toggle{border:var(--border-hairline) solid var(--color-rule-strong);border-radius:var(--radius-field);width:26px;height:24px;color:var(--color-muted-strong);font:400 11px/1 var(--font-mono);cursor:pointer;transition:color var(--motion-color), border-color var(--motion-color);background:0 0;flex:none;justify-content:center;align-items:center;padding:0;display:flex}.mode-toggle:hover{color:var(--color-text);border-color:var(--color-text)}.mode-toggle__to-light{display:none}.mode-toggle__to-dark{display:inline}@media (prefers-color-scheme:dark){:root:not([data-mode=light]) .mode-toggle__to-light{display:inline}:root:not([data-mode=light]) .mode-toggle__to-dark{display:none}}:root[data-mode=dark] .mode-toggle__to-light{display:inline}:root[data-mode=dark] .mode-toggle__to-dark,:root[data-mode=light] .mode-toggle__to-light{display:none}:root[data-mode=light] .mode-toggle__to-dark{display:inline}.theme-picker{align-items:center;gap:var(--space-3) 18px;flex-wrap:wrap;display:flex}.theme-picker__legend{color:var(--color-muted);flex:none}.theme-picker__group{flex-wrap:wrap;gap:7px;display:flex}.theme-picker__group--end{margin-left:auto}@media (max-width:600px){.theme-picker__group--end{margin-left:0}.theme-picker__group{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;overflow-x:auto}.theme-picker__group::-webkit-scrollbar{display:none}}
