@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-vietnamese-wght-normal.CnvboYUG.woff2)format("woff2-variations");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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-latin-ext-wght-normal.Ca2vKHc0.woff2)format("woff2-variations");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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-latin-wght-normal.ukD16Tqj.woff2)format("woff2-variations");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:Public Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/public-sans-vietnamese-wght-normal.CtlIRbEm.woff2)format("woff2-variations");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:Public Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/public-sans-latin-ext-wght-normal.MQgHevqp.woff2)format("woff2-variations");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:Public Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/public-sans-latin-wght-normal.DdeTHZLK.woff2)format("woff2-variations");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-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+460-52F,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+301,U+400-45F,U+490-491,U+4B0-4B1,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+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: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+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: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+??,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}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--ink:var(--lightningcss-light,#fdfcf8)var(--lightningcss-dark,#14161d);--ink-raised:var(--lightningcss-light,#f4f1e7)var(--lightningcss-dark,#1d202a);--ink-line:var(--lightningcss-light,#ded7c4)var(--lightningcss-dark,#333747);--paper:var(--lightningcss-light,#16181d)var(--lightningcss-dark,#f0ece1);--paper-dim:var(--lightningcss-light,#5a5750)var(--lightningcss-dark,#a8a296);--paper-faint:var(--lightningcss-light,#918a79)var(--lightningcss-dark,#6b665d);--gold:var(--lightningcss-light,#b45309)var(--lightningcss-dark,#e3b341);--gold-dim:var(--lightningcss-light,#8a4b08)var(--lightningcss-dark,#c99a2e);--lapis:var(--lightningcss-light,#0f766e)var(--lightningcss-dark,#5ec6c0);--lapis-wash:var(--lightningcss-light,#0f766e14)var(--lightningcss-dark,#5ec6c01f);--support-well:var(--lightningcss-light,#eff4f1)var(--lightningcss-dark,#1a1f1e);--support-edge:var(--lightningcss-light,#c3d6ce)var(--lightningcss-dark,#3a4a47);--face-display:"Fraunces Variable", "Fraunces", Georgia, serif;--face-body:"Public Sans Variable", "Public Sans", system-ui, sans-serif;--face-mono:"IBM Plex Mono", ui-monospace, monospace;--measure:63ch;--step--1:.8125rem;--step-0:1.0625rem;--step-1:clamp(1.15rem, .95rem + .9vw, 1.4rem);--step-2:clamp(1.4rem, 1.1rem + 1.4vw, 1.85rem);--step-3:clamp(1.9rem, 1.3rem + 2.8vw, 3.1rem)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}body,h1,h2,h3,p,ul,ol,figure,blockquote{margin:0}html{-webkit-text-size-adjust:100%}body{background:var(--ink);color:var(--paper);font-family:var(--face-body);font-size:var(--step-0);font-synthesis-weight:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;accent-color:var(--lapis);line-height:1.7}::selection{background:var(--lapis);color:var(--ink)}a{color:inherit;-webkit-text-decoration-color:var(--paper-faint);text-decoration-color:var(--paper-faint);text-underline-offset:.2em;text-decoration-thickness:1px;transition:text-decoration-color .12s}a:hover{-webkit-text-decoration-color:var(--lapis);text-decoration-color:var(--lapis)}:focus-visible{outline:2px solid var(--lapis);outline-offset:3px;border-radius:2px}.shell{width:100%;max-width:44rem;margin-inline:auto;padding-inline:1.25rem}.skip{position:absolute;left:-9999px}.skip:focus{z-index:20;background:var(--ink-raised);padding:.5rem .75rem;top:1rem;left:1rem}.masthead{z-index:10;background:color-mix(in srgb, var(--ink) 88%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--ink-line);justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:2.5rem;padding-block:1.1rem;display:flex;position:sticky;top:0}.masthead-mark{font-family:var(--face-display);font-variation-settings:"SOFT" 40, "WONK" 1;letter-spacing:-.01em;white-space:nowrap;font-size:1.15rem;font-weight:600;text-decoration:none}.masthead-mark:after{content:".";color:var(--gold)}.masthead-nav{font-family:var(--face-mono);font-size:var(--step--1);align-items:baseline;gap:1.1rem;display:flex}.masthead-nav a{color:var(--paper-dim);border-bottom:1.5px solid #0000;padding-bottom:2px;text-decoration:none;transition:color .12s,border-color .12s}.masthead-nav a:hover{color:var(--paper);border-bottom-color:var(--gold)}.apparatus{font-family:var(--face-mono);font-size:var(--step--1);letter-spacing:.06em;text-transform:uppercase;color:var(--paper-dim)}.apparatus-rule{max-width:var(--measure);align-items:center;gap:.85rem;display:flex}.apparatus-rule:after{content:"";background:var(--ink-line);flex:1;height:1px}.matn{font-family:var(--face-display);font-variation-settings:"SOFT" 60, "WONK" 0, "opsz" 20;font-weight:400;font-size:var(--step-1);color:var(--paper);border-left:3px solid var(--gold);text-wrap:pretty;max-width:34rem;margin-block:1.75rem 2.5rem;padding:.35rem 0 .35rem 1.15rem;line-height:1.5}@media (prefers-reduced-motion:no-preference){.matn{animation:.52s cubic-bezier(.22,.61,.36,1) both settle}}@keyframes settle{0%{opacity:0;transform:translateY(8px)}}.q-head{padding-top:.5rem}.q-title{font-family:var(--face-display);font-variation-settings:"SOFT" 30, "WONK" 1, "opsz" 40;font-weight:600;font-size:var(--step-3);letter-spacing:-.022em;text-wrap:balance;line-height:1.1}.q-meta{flex-wrap:wrap;gap:.4rem 1rem;margin-top:1rem;display:flex}.q-tags{flex-wrap:wrap;gap:.4rem;padding:0;list-style:none;display:flex}.q-tags a{font-family:var(--face-mono);font-size:var(--step--1);color:var(--paper-dim);border:1px solid var(--ink-line);border-radius:999px;padding:.15rem .65rem;text-decoration:none;transition:border-color .12s,color .12s,background-color .12s;display:inline-block}.q-tags a:hover{border-color:var(--gold-dim);color:var(--paper);background:var(--lapis-wash)}.gloss{max-width:var(--measure)}.gloss>*+*{margin-top:1.15em}.gloss h2{font-family:var(--face-display);font-variation-settings:"SOFT" 30, "WONK" 0;font-weight:600;font-size:var(--step-2);letter-spacing:-.01em;margin-top:2.75rem;line-height:1.2;position:relative}.gloss h2:before{content:"❧";color:var(--gold);font-family:var(--face-body);font-size:.7em;position:absolute;top:.25em;left:-1.4em}@media (width<=34rem){.gloss h2:before{margin-bottom:.35rem;display:block;position:static}}.gloss h3{font-family:var(--face-body);letter-spacing:.01em;margin-top:2rem;font-size:1.05rem;font-weight:650}.gloss blockquote{border-left:2px solid var(--gold-dim);background:var(--ink-raised);color:var(--paper);border-radius:0 3px 3px 0;padding:.9rem 1.15rem;font-style:normal}.gloss code{font-family:var(--face-mono);background:var(--ink-raised);border:1px solid var(--ink-line);border-radius:3px;padding:.1em .35em;font-size:.9em}.hashiya{border-top:1px solid var(--ink-line);margin-top:3rem;padding-top:1rem}.hashiya ol{gap:.6rem;margin:.75rem 0 0;padding:0;list-style:none;display:grid}.hashiya li{font-size:var(--step--1);color:var(--paper-dim);line-height:1.5}.hashiya .kind{font-family:var(--face-mono);color:var(--gold-dim);margin-right:.5rem}@media (width>=68rem){.q-body{grid-template-columns:minmax(0, var(--measure)) 15rem;align-items:start;gap:3.5rem;max-width:none;display:grid}.hashiya{border-top:0;margin-top:0;padding-top:.4rem;position:sticky;top:5.5rem}}.related{border-top:1px solid var(--ink-line);margin-top:3.5rem;padding-top:1.25rem}.related ul{gap:.85rem;margin:.75rem 0 0;padding:0;list-style:none;display:grid}.related a{font-family:var(--face-display);font-variation-settings:"SOFT" 40, "WONK" 0;border-bottom:1px solid #0000;font-size:1.05rem;line-height:1.35;text-decoration:none}.related a:hover{border-bottom-color:var(--gold-dim)}.theme-toggle{border:1px solid var(--ink-line);width:1.9rem;height:1.9rem;color:var(--paper-dim);cursor:pointer;background:0 0;border-radius:999px;justify-content:center;align-self:center;align-items:center;padding:0;transition:color .12s,border-color .12s,background-color .12s;display:inline-flex}.theme-toggle:hover{color:var(--gold);border-color:var(--gold-dim);background:var(--lapis-wash)}.theme-toggle svg{width:.95rem;height:.95rem;display:block}.theme-toggle .icon-sun{display:none}.theme-toggle .icon-moon{display:block}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .theme-toggle .icon-sun{display:block}:root:not([data-theme=light]) .theme-toggle .icon-moon{display:none}}:root[data-theme=dark] .theme-toggle .icon-sun{display:block}:root[data-theme=dark] .theme-toggle .icon-moon,:root[data-theme=light] .theme-toggle .icon-sun{display:none}:root[data-theme=light] .theme-toggle .icon-moon{display:block}.foot{border-top:1px solid var(--ink-line);color:var(--paper-dim);font-size:var(--step--1);margin-top:5rem;padding-block:2rem 3rem}
