@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-cyrillic-ext-opsz-normal.DIwfbPUE.woff2)format("woff2-variations");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 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-cyrillic-opsz-normal.C0olyEE-.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-greek-opsz-normal.DrHU7SY7.woff2)format("woff2-variations");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 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-vietnamese-opsz-normal.DX68cEVD.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:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-latin-ext-opsz-normal.HoL-AExg.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-latin-opsz-normal.BpEBLj1O.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:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-cyrillic-ext-opsz-italic.Bl6DJqma.woff2)format("woff2-variations");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 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-cyrillic-opsz-italic.Dibx14aP.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-greek-opsz-italic.CMW9dfKg.woff2)format("woff2-variations");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 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-vietnamese-opsz-italic.Hh3oeMt5.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:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-latin-ext-opsz-italic.BhUEwDRF.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-latin-opsz-italic.BOLXpvkj.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}:root{color-scheme:light dark;--bg:#f7f5f0;--surface:#fbfaf7;--text:#24221f;--muted:#6b665c;--rule:#e2ddd3;--link:#23529b;--code-bg:#eeeae1;--selection:#23529b29;--shadow:0 1px 2px #24221f0d, 0 12px 32px -16px #24221f40;--scroll:color-mix(in srgb, var(--text) 20%, transparent);--scroll-hover:color-mix(in srgb, var(--text) 38%, transparent);--cjk:"PingFang SC", "Hiragino Sans GB", "Noto Sans CJK SC", "Source Han Sans SC", "Microsoft YaHei", sans-serif;--serif:"Source Serif 4 Variable", Georgia, var(--cjk);--sans:-apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, var(--cjk);--mono:ui-monospace, "SF Mono", "Cascadia Mono", "Segoe UI Mono", Menlo, Consolas, "Liberation Mono", monospace;--page:70rem;--gutter:clamp(1.25rem, 4vw, 3rem)}@media screen and (prefers-color-scheme:dark){:root{--bg:#161513;--surface:#1d1b18;--text:#e4dfd6;--muted:#a09a8f;--rule:#2f2c28;--link:#93b3e9;--code-bg:#1f1d1a;--selection:#93b3e938;--shadow:0 1px 2px #0000004d, 0 12px 32px -16px #000000b3}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scrollbar-gutter:stable;font-size:112.5%}@media (width<=40rem){html{font-size:106.25%}}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;line-height:1.65}::selection{background:var(--selection)}@supports not selector(::-webkit-scrollbar){*{scrollbar-width:thin;scrollbar-color:var(--scroll) transparent}}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-corner{background:0 0}::-webkit-scrollbar-thumb{background:var(--scroll) padding-box;border:4px solid #0000;border-radius:6px}::-webkit-scrollbar-thumb:hover{background-color:var(--scroll-hover)}[lang|=en]{font-family:var(--serif)}[lang|=zh]{font-family:var(--sans);text-autospace:normal}h1,h2,h3,h4,h5,h6{text-wrap:balance;font-weight:560;line-height:1.3}[lang|=zh] :is(h1,h2,h3,h4,h5,h6),:is(h1,h2,h3,h4,h5,h6)[lang|=zh]{font-weight:600}p,li{text-wrap:pretty}a{color:var(--link);text-underline-offset:.2em;text-decoration-line:underline;text-decoration-thickness:1px;text-decoration-color:color-mix(in srgb, currentColor 35%, transparent);transition:text-decoration-color .15s}a:hover{text-decoration-color:currentColor}:focus-visible{outline:2px solid var(--link);outline-offset:2px;border-radius:2px}code,pre{font-family:var(--mono)}img{max-width:100%;height:auto}.ink,.prose img{mix-blend-mode:multiply}@media screen and (prefers-color-scheme:dark){.ink,.prose img{mix-blend-mode:screen;filter:invert()hue-rotate(180deg)brightness(.88)}}.wrap{--side:max(var(--gutter), (100vw - var(--page)) / 2);padding-inline:var(--side) calc(var(--side) - (100vw - 100%))}.site-header{align-items:center;gap:2rem;min-height:4rem;display:flex}@media screen and (width>=64rem){html{scroll-padding-top:5rem}body{padding-top:4rem}.site-header{z-index:1;background:var(--bg);position:fixed;inset:0 0 auto}}.home{width:2.25rem;height:2.25rem;color:var(--muted);border-radius:6px;flex:none;place-items:center;margin-left:-.5rem;display:grid}.home:hover{background:color-mix(in srgb, var(--text) 7%, transparent);color:var(--text)}.home svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:1.3rem;height:1.3rem}.site-nav{gap:1.75rem;margin-left:auto;display:flex}@media (width<=40rem){.site-header{gap:1rem}.site-nav{flex:0 18.5rem;justify-content:space-between;gap:0}.site-header:not(:has(.home)) .site-nav{margin-inline:auto}}.site-nav a{color:var(--muted);text-decoration:none}.site-nav a:hover,.site-nav a[aria-current]{color:var(--text)}.site-nav a[aria-current]{text-decoration:underline;text-decoration-color:var(--link);text-underline-offset:.45em;text-decoration-thickness:2px}main{padding-block:1.5rem 2rem}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.site-footer{color:var(--muted);padding-bottom:2rem;font-size:.8rem}.site-footer a{color:inherit}.page-title{margin:0;font-size:2.25rem;line-height:1.15}.page-lede{max-width:40rem;color:var(--muted);margin:.75rem 0 0}@media screen and (prefers-reduced-motion:no-preference){.rise{animation:.8s cubic-bezier(.2,.8,.2,1) both rise;animation-delay:calc(var(--i,0) * 60ms)}}@keyframes rise{0%{opacity:0;translate:0 1rem}}.tag{color:var(--muted);font:.75rem/1.5 var(--mono);letter-spacing:.02em}.prose>:first-child{margin-top:0}.prose :is(p,ul,ol,blockquote){max-width:42rem;margin-block:1em}.prose h2{margin:2.4em 0 .6em;font-size:1.35rem}.prose h3{margin:2em 0 .5em;font-size:1.15rem}.prose :is(h4,h5,h6){margin:1.8em 0 .4em;font-size:1rem}.prose h6{color:var(--muted)}.prose :is(ul,ol){padding-inline-start:1.4em}.prose li+li{margin-top:.3em}.prose blockquote{border-inline-start:2px solid var(--rule);color:var(--muted);margin-inline:0;padding-inline-start:1em}.prose hr{border:0;border-top:1px solid var(--rule);margin-block:2.5em}.prose table{border-collapse:collapse;margin-block:1.5em;font-size:.9rem}.prose :is(th,td){border-bottom:1px solid var(--rule);text-align:left;padding:.35em 1em .35em 0}.prose img{width:auto;max-height:85vh;display:block}.prose p:has(>img){max-width:none;margin-block:2rem}.prose math[display=block]{margin-block:1.2em;overflow-x:auto}.prose :not(pre)>code{background:var(--code-bg);border-radius:3px;padding:.1em .3em;font-size:.85em}.prose pre{background:var(--code-bg);color:var(--shiki-light);tab-size:4;border-radius:6px;margin-block:1.5rem;padding:1rem 1.25rem;font-size:.8rem;line-height:1.6}.prose pre span{color:var(--shiki-light)}@media screen and (prefers-color-scheme:dark){.prose pre,.prose pre span{color:var(--shiki-dark)}}@media print,(prefers-color-scheme:light){.prose pre span[style*="--shiki-light:#6a737d" i]{color:#5f6770}}@media screen and (prefers-color-scheme:dark){.prose pre span[style*="--shiki-dark:#6a737d" i]{color:#8b949e}}.code{margin-block:1.5rem;position:relative}.code>pre{margin:0}.code .copy{border:1px solid var(--rule);background:var(--bg);color:var(--muted);font:.75rem/1.4 var(--sans);cursor:pointer;opacity:0;border-radius:3px;padding:.2rem .55rem;transition:opacity .15s;position:absolute;top:.5rem;right:.5rem}.code:hover .copy,.code .copy:focus-visible{opacity:1}@media (hover:none){.code .copy{opacity:1}}.model{--top:#fffefb;--base:#f6f3ec;--left:#e9e4da;--right:#d6cfc3;--edge:#24221f59;--red:#c8553d;--shadow:#24221f;width:100%;height:100%;display:block}@media screen and (prefers-color-scheme:dark){.model{--top:#3a3732;--base:#302d29;--left:#2a2824;--right:#211f1c;--edge:#e4dfd629;--red:#e07a5f;--shadow:#000}}.face-top{fill:var(--top)}.face-left{fill:var(--left)}.face-right{fill:var(--right)}.model .base{fill:var(--base)}.model .plinth{stroke:var(--edge);stroke-width:.5px;stroke-linejoin:round}.model .cast{fill:var(--shadow);opacity:.1}@media print{:root{--bg:#fff;--text:#000;--code-bg:#fff}.site-header,.site-footer,.copy{display:none}.wrap{max-width:none;padding:0}main{padding:0}.prose pre{white-space:pre-wrap;overflow-wrap:anywhere;padding:0;font-size:8.5pt;line-height:1.4}}
