body>div,body>figure,body>footer,body>pre,tr{content-visibility:auto}@keyframes fade-in{to{opacity:1}}body>*{opacity:0;animation:fade-in .5s ease-out forwards}body>* *{opacity:0;animation:fade-in 1s ease-out forwards}body *{font-size-adjust:from-font;text-wrap:pretty;overflow-wrap:anywhere}html{background-color:var(--background-color--1);font-family:ui-sans-serif,sans-serif;font-weight:var(--font-weight--4);color:var(--foreground-color--1);transition:var(--transition--background-color),var(--transition--font-weight),var(--transition--color);font-palette:light}body{background-color:var(--background-color--1);max-width:var(--body-max-width);margin:10vh auto;line-height:1.5;transition:var(--transition--background-color)}[lang|=zh] ruby>rb::before{content:""}[lang|=zh] ruby>rb::before,rp{display:inline-block;width:0;font-size:0}[lang|=zh] ruby>rt{font-size:57.5%;text-align:center}h1,h2,h3,h4,h5,h6{font-family:ui-serif,serif;color:var(--foreground-color-titles);transition:var(--transition--color),var(--transition--font-weight)}h1{margin-block:2.4em 0;scroll-margin-block-start:1.2em;font-size:2.5rem;line-height:1.2;font-weight:var(--font-weight--2)}h2{margin-block:1.8em 0;scroll-margin-block-start:.9em;font-size:1.75rem;line-height:1.25;font-weight:var(--font-weight--3)}h3{margin-block:1em 0;scroll-margin-block-start:.5em;font-size:1.125rem;line-height:1.5;font-weight:var(--font-weight--3)}h1>*,h2>*,h3>*,h4>*,h5>*,h6>*{line-height:normal}blockquote,figure,p,pre{max-width:calc(100% - 2px);margin-inline:0;margin-block:1em 0}figcaption{font-size:smaller;line-height:2;color:var(--foreground-color--3)}figure>img,figure>picture{max-width:100%}[role=img],img{max-width:calc(100% - 2px);margin-inline:auto;box-sizing:border-box;border:1px solid var(--background-color--3);background-color:var(--background-color--2);transition:var(--transition--outline-color),var(--transition--background-color)}img{font-style:italic;text-align:center;vertical-align:middle;height:auto;--base64:var(--light-base64);background-image:var(--base64);background-size:cover;background-repeat:no-repeat}a{display:inline-block;padding:.25em 0;color:var(--foreground-color--2);text-decoration:underline 1px;text-underline-offset:.2em;transition:var(--transition--color),text-decoration-thickness .2s linear}a[hreflang]::after{margin-left:.25em;content:" [" attr(hreflang) "] ";font-size:smaller;float:right;vertical-align:super}body>a{margin:0 .5em}li>a{vertical-align:middle}@media screen{a[href^="#"]{text-decoration-style:dotted}a[target="_blank"]{text-decoration-style:dashed}a:hover{text-decoration-thickness:2px}}small{color:var(--foreground-color--3)}ol{list-style-type:simp-chinese-informal}li+li{margin-top:.5em}table{border-collapse:collapse}tr>*{padding-inline:.5em;padding-block:.25em}th{font-weight:var(--font-weight--2);background-color:var(--background-color--3);color:var(--foreground-color--2);transition:var(--transition--background-color),var(--transition--color),var(--transition--font-weight)}tr:nth-child(2n)>td{background-color:var(--background-color--1);transition:var(--transition--background-color)}b,strong{font-weight:var(--font-weight--2)}dt{font-weight:var(--font-weight--3)}em{font-style:normal;-webkit-text-emphasis:dot;text-emphasis:dot;-webkit-text-emphasis-position:under right;text-emphasis-position:under right}code,pre{font-family:ui-monospace,monospace;tab-size:4;transition:var(--transition--outline-color),var(--transition--background-color)}blockquote,p code,pre,table{background-color:var(--background-color--2);outline:1px solid var(--background-color--3);border:solid transparent}p code{border-width:.125em .25em}pre{border-width:.5em 1em;white-space:pre-wrap;max-height:75vh;overflow-x:auto;transition:var(--transition--outline-color),var(--transition--background-color)}pre[data-lang]::before{content:attr(data-lang);float:right;padding:.5em 1em;padding-inline-end:.875em;background-color:var(--background-color--3);font-size:.75rem;font-weight:var(--font-weight--2);letter-spacing:.125em;line-height:1;text-transform:uppercase;transition:var(--transition--background-color),var(--transition--color),var(--transition--font-weight)}blockquote{position:relative;padding:1em 2em;font-family:ui-serif,serif}[lang|=zh-Hans] blockquote::after,[lang|=zh-Hans] blockquote::before{position:absolute;font-size:2em;line-height:1;opacity:.25;font-feature-settings:"fwid"}[lang|=zh-Hans] blockquote::before{content:"“"/"";left:-.25em;top:.25em}[lang|=zh-Hans] blockquote::after{content:"”"/"";right:-.25em;bottom:-.25em}blockquote>p:has(cite){text-align:end}[lang|=zh] cite{font-style:normal}footer{margin-top:3em}footer>a{margin-left:1em}footer>a::before{content:"← ";float:left;margin-left:-1em}footer>a~a{margin-left:unset}footer>a~a::before{content:unset;float:unset;margin-left:unset}:root{font-size:18px;color-scheme:light dark;--body-max-width:min(calc(100vw - 2em), 40em);--transition--background-color:background-color 350ms;--transition--font-weight:font-weight 350ms;--transition--color:color 350ms;--transition--outline-color:outline-color 350ms;--black--0:hsl(0, 0%, 0%);--black--1:hsl(0, 0%, 4%);--black--2:hsl(0, 0%, 6%);--black--3:hsl(0, 0%, 8%);--white--0:hsl(0, 0%, 100%);--white--1:hsl(0, 0%, 92%);--white--2:hsl(0, 0%, 88%);--white--3:hsl(0, 0%, 84%);--background-color--1:var(--white--1);--background-color--2:var(--white--2);--background-color--3:var(--white--3);--foreground-color--1:var(--black--1);--foreground-color--2:var(--black--2);--foreground-color--3:var(--black--3);--foreground-color-titles:var(--black--0);--font-weight--1:1000;--font-weight--2:800;--font-weight--3:600;--font-weight--4:400;--font-weight--5:200}@media (prefers-color-scheme:dark){:root{--background-color--1:var(--black--1);--background-color--2:var(--black--2);--background-color--3:var(--black--3);--foreground-color--1:var(--white--1);--foreground-color--2:var(--white--2);--foreground-color--3:var(--white--3);--foreground-color-titles:var(--white--0);--font-weight--1:900;--font-weight--2:700;--font-weight--3:500;--font-weight--4:300;--font-weight--5:100}html{font-palette:dark}img{--base64:var(--dark-base64)}}::selection{background-color:var(--foreground-color--1);color:var(--background-color--1)}@media not (prefers-reduced-motion:reduce){@view-transition{navigation:auto}@keyframes page-out{from{clip-path:circle(100%)}to{clip-path:circle(0)}}@keyframes page-in{from{clip-path:circle(0)}to{clip-path:circle(100%)}}::view-transition-old(root){animation:.25s ease-in both page-out}::view-transition-new(root){animation:.25s ease-in both page-in .25s}html{scroll-behavior:smooth}}