/*!normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css*/html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}:root{--bg:#FAFAFA;--table-stripe:#F2F2F2;--surface:#FFFFFF;--text:#222222;--muted:#6B6B6B;--heading:#111111;--primary:#A23E48;--accent:#2E5A88;--paper:#F2E8D5;--link:#0066CC;--link-hover:#004C99;--alert-note-bg:#F0F4FF;--alert-note-border:#3366CC;--alert-tip-bg:#F0FFF4;--alert-tip-border:#228B22;--alert-important-bg:#FFF8E5;--alert-important-border:#CC6600;--alert-warning-bg:#FFF0F0;--alert-warning-border:#CC3333;--alert-caution-bg:#FAF0FF;--alert-caution-border:#8844AA;--max-width:1280px;--gutter:24px;--font-size-base:16px;--line-height:1.8;--h1-size:28px;--h2-size:22px;--h3-size:18px;--small-size:14px;--radius:10px;--border:1px solid rgba(0,0,0,0.06)}html.dark{--bg:#1C1C1C;--table-stripe:#242424;--surface:#222222;--text:#EAEAEA;--muted:#A8A8A8;--heading:#FFFFFF;--primary:#FF6F61;--accent:#8AB4F8;--paper:#2A2A2A;--link:#4DA6FF;--link-hover:#80C1FF;--alert-note-bg:#1E2A40;--alert-note-border:#6699FF;--alert-tip-bg:#1F2D1F;--alert-tip-border:#66CC66;--alert-important-bg:#332B1E;--alert-important-border:#FFB84D;--alert-warning-bg:#3A1E1E;--alert-warning-border:#FF6666;--alert-caution-bg:#2A1E33;--alert-caution-border:#B266CC;--border:1px solid rgba(255,255,255,0.04)}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:noto sans sc,-apple-system,BlinkMacSystemFont,microsoft yahei,sans-serif;background:var(--bg);color:var(--text);-moz-osx-font-smoothing:grayscale;font-size:var(--font-size-base);line-height:var(--line-height)}.site-nav{width:100%;background:linear-gradient(180deg,transparent,rgba(0,0,0,2%));backdrop-filter:blur(6px);position:sticky;top:0;z-index:40;border-bottom:var(--border)}.nav-inner{max-width:calc(var(--max-width) + 2*var(--gutter));margin:0 auto;padding:12px var(--gutter);display:flex;align-items:center;gap:12px}.brand{font-weight:700;letter-spacing:.02em;color:var(--heading);text-decoration:none;display:flex;align-items:baseline;gap:10px}.brand .subtitle{font-size:var(--small-size);color:var(--muted);margin-left:6px;font-weight:500}nav.main-links{margin-left:auto;display:flex;gap:14px;align-items:center}nav.main-links a{color:var(--muted);text-decoration:none;font-weight:600}nav.main-links a:hover{color:var(--primary)}.theme-toggle{border:0;background:0 0;cursor:pointer;font-weight:600;padding:6px 8px;border-radius:6px}.container{max-width:var(--max-width);margin:28px auto;padding:0 var(--gutter)}article.post{background:0 0;color:var(--text)}article .meta{color:var(--muted);font-size:13px;margin-bottom:8px}article h1{font-size:var(--h1-size);margin:12px 0 10px;color:var(--heading);font-weight:800;letter-spacing:-.01em}article h2{font-size:var(--h2-size);margin:20px 0 8px;font-weight:700}article h3{font-size:var(--h3-size);margin:16px 0 6px;font-weight:700}span.main-title{font-size:var(--h3-size)}p{margin:0 0 1em}blockquote{border-left:4px solid var(--accent);margin:16px 0;padding:12px 16px;background:var(--paper);border-radius:6px;color:var(--muted);font-style:normal;font-size:.95em}table{width:100%;border-collapse:collapse;margin:1em 0}table th,table td{border-bottom:1px solid var(--border);padding:.75rem;text-align:left;vertical-align:top}table thead th{border-bottom:2px solid var(--border);vertical-align:bottom}table tbody+tbody{border-top:2px solid var(--border)}table tbody tr:nth-of-type(even){background-color:var(--table-stripe)}table th{background-color:var(--text);color:var(--bg)}ul{padding-left:15px;font-variant-numeric:tabular-nums}.pager{display:flex;margin:0;padding:0;text-align:left;justify-content:space-between;margin:28px 0;gap:10px}.pager a{display:inline-block;padding:8px 12px;border-radius:8px;text-decoration:none;font-weight:700;border:var(--border);color:var(--heading)}.pager a:hover{background:var(--paper);color:var(--primary)}.pager li{list-style:none;display:inline-block;margin:0;padding:0}.pager .page-item.page-prev{text-align:left}.pager .page-item.page-next{margin-left:auto;text-align:right}footer.site-foot{max-width:var(--max-width);margin:40px auto 80px;padding:24px var(--gutter);color:var(--muted);font-size:13px;text-align:center}@media(max-width:900px){:root{--max-width:680px}.nav-inner{padding:10px 16px}article h1{font-size:24px}}@media(max-width:600px){:root{--max-width:100%}.nav-inner{gap:8px}nav.main-links{display:none}.brand{font-size:16px}}a{color:var(--link);text-decoration:none}a:hover{color:var(--link-hover)}a:focus,button:focus{outline:3px solid rgba(100,160,255,.18);outline-offset:2px}.highlight pre{margin-bottom:0;margin-top:0;padding:12px}.alert{border-left:4px solid;padding:1em;margin:1.5em 0;border-radius:.5em;font-size:var(--font-size-base);line-height:var(--line-height-base)}.alert.alert-note,.alert.alert-historical{background:var(--alert-note-bg);border-color:var(--alert-note-border)}.alert.alert-tip{background:var(--alert-tip-bg);border-color:var(--alert-tip-border)}.alert.alert-important{background:var(--alert-important-bg);border-color:var(--alert-important-border)}.alert.alert-warning,.alert.alert-disclaimer{background:var(--alert-warning-bg);border-color:var(--alert-warning-border)}.alert.alert-caution{background:var(--alert-caution-bg);border-color:var(--alert-caution-border)}ruby{ruby-position:over;font-variant-east-asian:ruby}rb{font-size:1em}rt{font-size:.65em;line-height:1;color:var(--muted);font-weight:var(--weight-normal);letter-spacing:.05em}ruby rt{padding:0 .1em}.bg{color:#586e75;background-color:#eee8d5}.chroma{color:#586e75;background-color:#eee8d5}.chroma .lnlinks{outline:none;text-decoration:none;color:inherit}.chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}.chroma .lntable{border-spacing:0;padding:0;margin:0;border:0}.chroma .hl{background-color:#d6d0bf}.chroma .lnt{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#7f7f7f}.chroma .ln{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#7f7f7f}.chroma .line{display:flex}.chroma .k{color:#859900}.chroma .kc{color:#859900;font-weight:700}.chroma .kd{color:#859900}.chroma .kn{color:#dc322f;font-weight:700}.chroma .kp{color:#859900}.chroma .kr{color:#859900}.chroma .kt{color:#859900;font-weight:700}.chroma .n{color:#268bd2}.chroma .na{color:#268bd2}.chroma .nc{color:#cb4b16}.chroma .no{color:#268bd2}.chroma .nd{color:#268bd2}.chroma .ni{color:#268bd2}.chroma .ne{color:#268bd2}.chroma .nl{color:#268bd2}.chroma .nn{color:#268bd2}.chroma .nx{color:#268bd2}.chroma .py{color:#268bd2}.chroma .nt{color:#268bd2;font-weight:700}.chroma .nb{color:#cb4b16}.chroma .bp{color:#cb4b16}.chroma .nv{color:#268bd2}.chroma .vc{color:#268bd2}.chroma .vg{color:#268bd2}.chroma .vi{color:#268bd2}.chroma .vm{color:#268bd2}.chroma .nf{color:#268bd2}.chroma .fm{color:#268bd2}.chroma .l{color:#2aa198}.chroma .ld{color:#2aa198}.chroma .s{color:#2aa198}.chroma .sa{color:#2aa198}.chroma .sb{color:#2aa198}.chroma .sc{color:#2aa198}.chroma .dl{color:#2aa198}.chroma .sd{color:#2aa198}.chroma .s2{color:#2aa198}.chroma .se{color:#2aa198}.chroma .sh{color:#2aa198}.chroma .si{color:#2aa198}.chroma .sx{color:#2aa198}.chroma .sr{color:#2aa198}.chroma .s1{color:#2aa198}.chroma .ss{color:#2aa198}.chroma .m{color:#2aa198;font-weight:700}.chroma .mb{color:#2aa198;font-weight:700}.chroma .mf{color:#2aa198;font-weight:700}.chroma .mh{color:#2aa198;font-weight:700}.chroma .mi{color:#2aa198;font-weight:700}.chroma .il{color:#2aa198;font-weight:700}.chroma .mo{color:#2aa198;font-weight:700}.chroma .ow{color:#859900}.chroma .c{color:#93a1a1;font-style:italic}.chroma .ch{color:#93a1a1;font-style:italic}.chroma .cm{color:#93a1a1;font-style:italic}.chroma .c1{color:#93a1a1;font-style:italic}.chroma .cs{color:#93a1a1;font-style:italic}.chroma .cp{color:#93a1a1;font-style:italic}.chroma .cpf{color:#93a1a1;font-style:italic}.chroma .g{color:#d33682}.chroma .gd{color:#d33682}.chroma .ge{color:#d33682}.chroma .gr{color:#d33682}.chroma .gh{color:#d33682}.chroma .gi{color:#d33682}.chroma .go{color:#d33682}.chroma .gp{color:#d33682}.chroma .gs{color:#d33682}.chroma .gu{color:#d33682}.chroma .gt{color:#d33682}.chroma .gl{color:#d33682}html.dark .bg{color:#93a1a1;background-color:#002b36}html.dark .chroma{color:#93a1a1;background-color:#002b36}html.dark .chroma .x{color:#cb4b16}html.dark .chroma .lnlinks{outline:none;text-decoration:none;color:inherit}html.dark .chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}html.dark .chroma .lntable{border-spacing:0;padding:0;margin:0;border:0}html.dark .chroma .hl{background-color:#19404a}html.dark .chroma .lnt{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#495050}html.dark .chroma .ln{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#495050}html.dark .chroma .line{display:flex}html.dark .chroma .k{color:#719e07}html.dark .chroma .kc{color:#cb4b16}html.dark .chroma .kd{color:#268bd2}html.dark .chroma .kn{color:#719e07}html.dark .chroma .kp{color:#719e07}html.dark .chroma .kr{color:#268bd2}html.dark .chroma .kt{color:#dc322f}html.dark .chroma .nc{color:#268bd2}html.dark .chroma .no{color:#cb4b16}html.dark .chroma .nd{color:#268bd2}html.dark .chroma .ni{color:#cb4b16}html.dark .chroma .ne{color:#cb4b16}html.dark .chroma .nt{color:#268bd2}html.dark .chroma .nb{color:#b58900}html.dark .chroma .bp{color:#268bd2}html.dark .chroma .nv{color:#268bd2}html.dark .chroma .vc{color:#268bd2}html.dark .chroma .vg{color:#268bd2}html.dark .chroma .vi{color:#268bd2}html.dark .chroma .vm{color:#268bd2}html.dark .chroma .nf{color:#268bd2}html.dark .chroma .fm{color:#268bd2}html.dark .chroma .s{color:#2aa198}html.dark .chroma .sa{color:#2aa198}html.dark .chroma .sb{color:#586e75}html.dark .chroma .sc{color:#2aa198}html.dark .chroma .dl{color:#2aa198}html.dark .chroma .s2{color:#2aa198}html.dark .chroma .se{color:#cb4b16}html.dark .chroma .si{color:#2aa198}html.dark .chroma .sx{color:#2aa198}html.dark .chroma .sr{color:#dc322f}html.dark .chroma .s1{color:#2aa198}html.dark .chroma .ss{color:#2aa198}html.dark .chroma .m{color:#2aa198}html.dark .chroma .mb{color:#2aa198}html.dark .chroma .mf{color:#2aa198}html.dark .chroma .mh{color:#2aa198}html.dark .chroma .mi{color:#2aa198}html.dark .chroma .il{color:#2aa198}html.dark .chroma .mo{color:#2aa198}html.dark .chroma .o{color:#719e07}html.dark .chroma .ow{color:#719e07}html.dark .chroma .c{color:#586e75}html.dark .chroma .ch{color:#586e75}html.dark .chroma .cm{color:#586e75}html.dark .chroma .c1{color:#586e75}html.dark .chroma .cs{color:#719e07}html.dark .chroma .cp{color:#719e07}html.dark .chroma .cpf{color:#719e07}html.dark .chroma .gd{color:#dc322f}html.dark .chroma .ge{font-style:italic}html.dark .chroma .gr{color:#dc322f;font-weight:700}html.dark .chroma .gh{color:#cb4b16}html.dark .chroma .gi{color:#719e07}html.dark .chroma .gs{font-weight:700}html.dark .chroma .gu{color:#268bd2}