html,body{margin:0;padding:0;position:relative;min-height:100%}body{text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-moz-font-feature-settings:"liga" on;image-rendering:-webkit-optimize-contrast;background:var(--site-bg);color:var(--site-ink)}body.home-page{background:var(--site-bg)}::selection{background:rgba(27,90,183,.14);color:#0a315e}div.splitbox{width:100%;border-top:.15rem solid #757575;padding:1rem;margin-top:-1rem;margin-bottom:1em}div.splitbox div.left{width:35%;float:left;color:gray}div.splitbox div.right{width:64%;float:right}@media only screen and (max-width:600px){div.splitbox div.left{width:100%;float:left}div.splitbox div.right{width:100%;float:left}}.wide{width:90vw;margin-left:calc(44% - 42vw);display:flex}.wide-single{width:90vw;margin-left:calc(44% - 42vw)}.column{flex:50%;padding:.05px}.fullwidth{width:100vw;margin-left:calc(50% - 50vw)}.footer{text-align:center;font-size:14px;padding:30px 1.5rem 28px;margin-top:auto;border-top:1px solid var(--site-border);position:relative;background:linear-gradient(180deg,#f8fafc 0%,#f4f7fb 100%);display:flex;flex-direction:column;align-items:center;gap:.5rem}.footer-links{list-style:none;margin:0;padding:0;color:#718198;font-size:.86rem;display:none;flex-wrap:wrap;align-items:center;justify-content:center;gap:.4rem .7rem}.footer-links.footer-links--visible{display:flex}.footer-links li{margin:0;padding:0;display:inline-flex;align-items:center;white-space:nowrap}.footer-links a{color:#52647c;text-decoration:none;transition:color .2s ease,text-decoration-color .2s ease;padding:.25rem .3rem;font-weight:500;letter-spacing:.015em;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:.3em}.footer-links a:hover,.footer-links a:focus-visible{color:#204f89;text-decoration-color:initial}.footer-links a:focus-visible{outline:2px solid #386aa4;outline-offset:3px}.footer-links-kudos img{margin-left:2px}.copyright-text{margin-top:.2rem;margin-bottom:0;color:#77869b;font-size:.72rem;letter-spacing:.075em;line-height:1.5;text-transform:uppercase;font-weight:450}.nav{max-width:1100px;margin:0 auto;padding:0 20px;text-align:right;display:flex;align-items:center;justify-content:space-between}.nav-logo{display:inline-flex;align-items:center;flex:none;transition:opacity 150ms ease-out}.nav-logo:hover{opacity:.8}.nav-logo img{display:block;max-height:34px;width:auto;border-radius:50%}.nav-links{margin:0;padding:0;font-size:14px;list-style:none;display:flex;align-items:center;gap:clamp(12px,2vw,24px)}.nav-links li{display:block;margin:0}.nav-links a{display:inline-block;text-decoration:none;color:#38445a;font-weight:520;letter-spacing:.025em;padding:8px 0;transition:color .25s ease;position:relative}.nav-links a:hover,.nav-links a.is-current{color:#1a56b8}.nav-links a::after{content:'';position:absolute;width:0;height:1px;bottom:2px;left:50%;transform:translateX(-50%);background:#547eaf;opacity:0;transition:width .32s cubic-bezier(.22,.61,.36,1),opacity .22s ease}.nav-links a:hover::after,.nav-links a.is-current::after{width:100%;opacity:1}.nav-links a:focus-visible{outline:2px solid #1a56b8;outline-offset:4px;border-radius:2px}.content{max-width:var(--site-content-width);margin:64px auto auto;padding:0 15px;font-size:19px;line-height:1.75}body.home-page .content{max-width:var(--site-home-width)}.content a{color:var(--site-accent);text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:.18em;text-decoration-color:rgba(27,90,183,.16);text-decoration-skip-ink:auto;letter-spacing:0;-webkit-box-decoration-break:clone;box-decoration-break:clone;transition:text-decoration-color .3s ease,text-underline-offset .35s cubic-bezier(.34,1.56,.64,1),color .3s ease,box-shadow .35s ease,text-shadow .3s ease,letter-spacing .35s ease}.content a:hover{color:#08325c;text-decoration-color:#08325c;text-underline-offset:.32em;letter-spacing:.015em;box-shadow:inset 0 -.1em rgba(27,90,183,8%),inset 0 -.22em rgba(27,90,183,4%);text-shadow:0 0 1px rgba(8,50,92,.1)}.content a:visited{color:#4b3f8f;text-decoration-color:rgba(75,63,143,.2)}.content a:visited:hover{color:#2b205e;text-decoration-color:#2b205e;box-shadow:inset 0 -.1em rgba(75,63,143,8%),inset 0 -.22em rgba(75,63,143,4%)}.content a:focus-visible{outline:2px solid rgba(27,90,183,.35);outline-offset:2px;border-radius:2px}.content a[href^=http]:not([href*=zhgyqc]):not([href*=localhost]):not([href*="127.0.0"]),.body-text.list-text a[href^=http]:not([href*=zhgyqc]):not([href*=localhost]):not([href*="127.0.0"]){text-decoration-style:dotted}#utterances-comments{max-width:var(--site-content-width);margin:28px auto 0;padding:0 15px}#giscus-comments{max-width:100%;margin-top:1.8rem;padding:0}.home-list-page>h1:first-child,.list-page>h1:first-child{margin-top:0;margin-bottom:1.05rem;line-height:1.14;letter-spacing:-.015em;font-weight:560;color:#111828}.wrapper{overflow:clip;position:relative;display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}.wrapper>main{box-sizing:border-box;width:100%;margin-bottom:64px}.header{padding:11px 0;position:sticky;top:0;background:linear-gradient(180deg,var(--site-bg) 0%,#f8fafc 100%);border-bottom:1px solid var(--site-border);z-index:10}.header-anchor:hover,.header-anchor:focus{background-color:gray}.title{font-size:1.1em}.article-toolbar a{margin-bottom:2px;margin-left:.2em;color:#4a5568;text-decoration:none;letter-spacing:0;background-image:linear-gradient(105deg,#4a5568,#3b4f8a);background-position:0 calc(100% - 1px);background-repeat:no-repeat;background-size:0% 1px;transition:background-size .3s cubic-bezier(.34,1.56,.64,1),color .25s ease,letter-spacing .25s ease}.article-toolbar a:hover,.article-toolbar a:focus{color:var(--site-accent);letter-spacing:.01em;background-size:100% 1px}pre{border:1px solid #e2e6ed;border-radius:6px;box-shadow:0 1px 3px rgba(0,0,0,4%)}pre code{background-color:transparent;border:none}code{padding:2px .35rem;border-radius:3px;border:1px solid #d8dde5;background:#f7f8fb;font-size:.9em;color:#2d3a4f}.toc{border:.25rem solid #757575;padding:1rem;margin-top:1rem;margin-bottom:1em;color:#757575}.toc a,.toc a:visited{color:#5a6377;text-decoration:none;letter-spacing:0;background-image:linear-gradient(105deg,#5a6377,#3b4f8a);background-position:0 calc(100% - 1px);background-repeat:no-repeat;background-size:0% 1.5px;transition:background-size .35s cubic-bezier(.34,1.56,.64,1),color .28s ease,box-shadow .3s ease,letter-spacing .3s ease}.toc a:hover{color:var(--site-accent);letter-spacing:.012em;background-size:100% 1.5px;box-shadow:inset 0 -.08em rgba(27,90,183,6%),inset 0 -.2em rgba(27,90,183,3%)}img,iframe,video{max-width:100%}blockquote{background:#f9f9f9;margin:1em 0;padding:0 2em;border-left:3px solid #ddd;font-family:noto serif sc,"source serif 4",stkaiti,kaiti sc,kaiti,楷体,serif}.note,.important,.tip,.info,.caution,.warning{min-height:2.2em;padding:1em 1em .1em 4em;background:#f5f5f5 2px 0/3em no-repeat;font-family:Optima,songti sc,Simsun;font-size:19px}.note{background-image:url(../media/blocks/note.png)}.important{background-image:url(../media/blocks/important.png)}.tip{background-image:url(../media/blocks/tip.png)}.info{background-image:url(../media/blocks/tip.png)}.caution{background-image:url(../media/blocks/caution.png)}.warning{background-image:url(../media/blocks/warning.png)}.reminder{min-height:3.2em;padding:1em 1em 1em 4em;background:#f5f5f5 2px/3em no-repeat;font-family:noto sans sc,noto serif sc,"source serif 4",songti sc,simsun,宋体,serif;font-size:19px;background-image:url(../media/blocks/reminder.png)}table{font-size:19px;margin:auto;margin-bottom:2em;border-top:1px solid #666;border-bottom:1px solid #666}table thead th{border-bottom:1px solid #ddd}th,td{padding:5px}thead,tfoot,tr:nth-child(even){background:#eee}img[src$='#center']{display:block;margin:.7rem auto}figcaption{margin-top:8px;text-align:center;color:gray}figcaption a{font-size:14px;color:#4a5568;text-decoration:none;letter-spacing:0;background-image:linear-gradient(105deg,#4a5568,#3b4f8a);background-position:0 calc(100% - 1px);background-repeat:no-repeat;background-size:0% 1px;transition:background-size .3s cubic-bezier(.34,1.56,.64,1),color .25s ease,letter-spacing .25s ease}figcaption a:hover{color:var(--site-accent);letter-spacing:.01em;background-size:100% 1px}@charset 'utf-8';/*!* Typo v1.0.6 (http://typo.reqianduan.com/)
* A typography stylesheet designed for better reading experience.
* © 2017 Arvin Xiang. All rights reserved.*/h1,h2,h3,h4,h5,h6{margin-bottom:25px;line-height:1.25;text-align:center}h1{font-size:32px;font-weight:400;text-align:center}h2{font-size:28px;font-weight:400;text-align:center}h3{font-size:24px;font-weight:400}h4,h5,h6{font-size:20px;color:grey}ul,ol{margin:0 0 12px}ul li,ol li{font-size:19px}.list-page a{color:#1b2d45;text-decoration:none;letter-spacing:0;background-image:linear-gradient(105deg,var(--site-accent),#3b4f8a);background-position:0 calc(100% - 1px);background-repeat:no-repeat;background-size:0% 1.5px;transition:background-size .4s cubic-bezier(.34,1.56,.64,1),color .3s ease,box-shadow .35s ease,text-shadow .3s ease,letter-spacing .35s ease}.list-page a:hover{color:var(--site-accent);letter-spacing:.015em;background-size:100% 1.5px;box-shadow:inset 0 -.08em rgba(27,90,183,6%),inset 0 -.2em rgba(27,90,183,3%);text-shadow:0 0 1px rgba(27,90,183,8%)}.list-page sup a{background-image:none}.body-text.list-text a{color:#1b2d45;text-decoration:none;letter-spacing:0;background-image:linear-gradient(105deg,var(--site-accent),#3b4f8a);background-position:0 calc(100% - 1px);background-repeat:no-repeat;background-size:0% 1.5px;transition:background-size .4s cubic-bezier(.34,1.56,.64,1),color .3s ease,box-shadow .35s ease,text-shadow .3s ease,letter-spacing .35s ease}.body-text.list-text a:hover{color:var(--site-accent);letter-spacing:.015em;background-size:100% 1.5px;box-shadow:inset 0 -.08em rgba(27,90,183,6%),inset 0 -.2em rgba(27,90,183,3%);text-shadow:0 0 1px rgba(27,90,183,8%)}.body-text.list-text sup a{background-image:none}strong,b{font-weight:700}em,i{font-style:italic}figure img{display:block;box-sizing:border-box;max-width:100%;margin:auto auto 4px}hr{display:block;height:1px;border:0;border-top:1px solid #ddd;margin:40px auto;padding:0;max-width:300px}.body-text.list-text a[href^="#fn:"],.body-text.list-text a[href^="#fnref:"]{text-decoration:none;color:red;font-family:jetbrains mono,fira code,monospace;font-size:14px}.body-text.list-text a[href^="#fn:"]:before{content:'['}.body-text.list-text a[href^="#fn:"]:after{content:']'}@media only screen and (max-width:600px){body{font-size:16px}h1{font-size:28px}h2{font-size:18px}h3,h4,h5,h6{font-size:16px}pre,code{font-size:12px}}@media(prefers-reduced-motion:reduce){.content a,.list-page a,.body-text.list-text a,.toc a,figcaption a,.article-toolbar a,.nav-links a,.footer-links a{transition:none}.content a:hover{letter-spacing:0}.list-page a:hover,.body-text.list-text a:hover{letter-spacing:0}}