@font-face{font-family:"Han Songti STC";src:local("Songti SC Regular"),local(STSongti-SC-Regular),local("Songti SC"),local("Songti TC Regular"),local(STSongti-TC-Regular),local("Songti TC"),local(STSong),local("Lisong Pro"),local(SimSun),local(PMingLiU)}@font-face{unicode-range:U+4E00-9FFF,U+3400-4DB5,U+20000-2A6D6,U+2A700-2B734,U+2B740-2B81D,U+FA0E-FA0F,U+FA11,U+FA13-FA14,U+FA1F,U+FA21,U+FA23,U+FA24,U+FA27-FA29,U+3040-309F,U+30A0-30FF,U+3099-309E,U+FF66-FF9F,U+3007,U+31C0-31E3,U+2F00-2FD5,U+2E80-2EF3;font-family:"Han Songti STC";src:local(YuMincho),local("Hiragino Mincho ProN"),local("Hiragino Mincho Pro"),local("MS Mincho")}@font-face{font-family:"Han Songti TCS";src:local("Songti TC Regular"),local(STSongti-TC-Regular),local("Songti TC"),local("Lisong Pro"),local("Songti SC Regular"),local(STSongti-SC-Regular),local("Songti SC"),local(STSong),local(PMingLiU),local(SimSun)}@font-face{font-family:"Han Songti STC";font-weight:600;src:local("STSongti SC Bold"),local("STSongti TC Bold"),local(STSongti-SC-Bold),local(STSongti-TC-Bold),local("STSongti SC"),local("STSongti TC")}@font-face{unicode-range:U+4E00-9FFF,U+3400-4DB5,U+20000-2A6D6,U+2A700-2B734,U+2B740-2B81D,U+FA0E-FA0F,U+FA11,U+FA13-FA14,U+FA1F,U+FA21,U+FA23,U+FA24,U+FA27-FA29,U+3040-309F,U+30A0-30FF,U+3099-309E,U+FF66-FF9F,U+3007,U+31C0-31E3,U+2F00-2FD5,U+2E80-2EF3;font-family:"Han Songti STC";font-weight:600;src:local("YuMincho Demibold"),local("Hiragino Mincho ProN W6"),local("Hiragino Mincho Pro W6"),local(YuMin-Demibold),local(HiraMinProN-W6),local(HiraMinPro-W6),local(YuMincho),local("Hiragino Mincho ProN"),local("Hiragino Mincho Pro")}@font-face{font-family:"Han Songti TCS";font-weight:600;src:local("STSongti TC Bold"),local("STSongti SC Bold"),local(STSongti-TC-Bold),local(STSongti-SC-Bold),local("STSongti TC"),local("STSongti SC")}@font-face{font-family:"Han Songti STC";src:local("Songti SC Regular"),local(STSongti-SC-Regular),local("Songti SC"),local("Songti TC Regular"),local(STSongti-TC-Regular),local("Songti TC"),local(STSongti),local("Lisong Pro"),local("MS Mincho"),local(SimSun),local(PMingLiU);unicode-range:U+270C}@font-face{font-family:"Han Songti TCS";src:local("Songti TC Regular"),local("Lisong Pro"),local("Songti TC"),local("Songti SC Regular"),local(STSong),local("Songti SC"),local("MS Mincho"),local(PMingLiU),local(SimSun);unicode-range:U+270C}@font-face{font-family:"Han Songti TCS";font-weight:600;src:local("Songti TC Bold"),local("Songti SC Bold"),local(STSongti-TC-Bold),local(STSongti-SC-Bold),local("Songti TC"),local("Songti SC");unicode-range:U+270C}@font-face{font-family:"Han Kaiti TCS";src:local("Kaiti TC Regular"),local("Kaiti SC Regular"),local(STKaiTi-TC-Regular),local(STKaiTi-SC-Regular),local("Kaiti TC"),local("Kaiti SC"),local(STKaiti),local(BiauKai),local("\6a19\6977\9ad4"),local(DFKaiShu-SB-Estd-BF),local(Kaiti),local(DFKai-SB)}@font-face{font-family:"Han Kaiti STC";src:local("Kaiti SC Regular"),local("Kaiti TC Regular"),local(STKaiTi-SC-Regular),local(STKaiTi-TC-Regular),local("Kaiti SC"),local("Kaiti TC"),local(STKaiti),local(BiauKai),local("\6a19\6977\9ad4"),local(DFKaiShu-SB-Estd-BF),local(Kaiti),local(DFKai-SB)}@font-face{font-family:"Han Kaiti TCS";font-weight:600;src:local("Kaiti TC Bold"),local(STKaiTi-TC-Bold),local("Kaiti SC Bold"),local(STKaiti-SC-Bold),local("Kaiti TC"),local("Kaiti SC")}@font-face{font-family:"Han Kaiti STC";font-weight:600;src:local("Kaiti SC Bold"),local(STKaiti-SC-Bold),local("Kaiti TC Bold"),local(STKaiTi-TC-Bold),local("Kaiti SC"),local("Kaiti TC")}@font-face{unicode-range:U+02C7-02CB,U+02D9,U+02EA-02EB,U+3105-312D,U+31A0-31BB;font-family:"BopomofoRuby";src:url(/static/fonts/bopomofo-ruby/BopomofoRuby1909-v1-Regular.ttf)}rt.bopomofo{font-family:BopomofoRuby;text-orientation:upright}:root,.light-theme{--syntax-default: #24292f;--syntax-comment: #6e7781;--syntax-constant: #0550ae;--syntax-entity: #8250df;--syntax-definition: #268bd2;--syntax-tag: #116329;--syntax-builtin: #b58900;--syntax-keyword: #cf222e;--syntax-string: #0a3069;--syntax-string-regexp: #116329;--syntax-variable: #953800;--syntax-invalid-illegal-text: #f6f8fa;--syntax-invalid-illegal-bg: #82071e;--syntax-markup-heading: #0550ae;--syntax-markup-italic: #24292f;--syntax-markup-bold: #24292f;--syntax-markup-deleted-text: #82071e;--syntax-markup-deleted-bg: #FFEBE9;--syntax-markup-inserted-text: #116329;--syntax-markup-inserted-bg: #dafbe1;--syntax-markup-changed-text: #953800;--syntax-markup-changed-bg: #ffd8b5;--syntax-markup-ignored-text: #eaeef2;--syntax-markup-ignored-bg: #0550ae;--syntax-meta-diff-range: #8250df;--syntax-attention-bg: #fff8c5}.dark-theme{--syntax-default: #c9d1d9;--syntax-comment: #8b949e;--syntax-constant: #79c0ff;--syntax-entity: #d2a8ff;--syntax-definition: #47b0fa;--syntax-tag: #7ee787;--syntax-builtin: #ffd34c;--syntax-keyword: #ff7b72;--syntax-string: #a5d6ff;--syntax-string-regexp: #7ee787;--syntax-variable: #ffa657;--syntax-invalid-illegal-text: #f0f6fc;--syntax-invalid-illegal-bg: #8e1519;--syntax-markup-heading: #1f6feb;--syntax-markup-italic: #c9d1d9;--syntax-markup-bold: #c9d1d9;--syntax-markup-deleted-text: #ffdcd7;--syntax-markup-deleted-bg: #67060c;--syntax-markup-inserted-text: #aff5b4;--syntax-markup-inserted-bg: #033a16;--syntax-markup-changed-text: #ffdfb6;--syntax-markup-changed-bg: #5a1e02;--syntax-markup-ignored-text: #c9d1d9;--syntax-markup-ignored-bg: #1158c7;--syntax-meta-diff-range: #d2a8ff;--syntax-attention-bg: rgba(255, 248, 197, .18)}.highlight{color:var(--syntax-default)}.highlight .hll{display:block;background-color:var(--syntax-attention-bg)}.highlight .c{color:var(--syntax-comment)}.highlight .err{color:var(--syntax-invalid-illegal-text);background-color:var(--syntax-invalid-illegal-bg)}.highlight .g{color:#586e75}.highlight .k{color:var(--syntax-keyword)}.highlight .l{color:#586e75}.highlight .o{color:var(--syntax-constant)}.highlight .x{color:#cb4b16}.highlight .cm{color:var(--syntax-comment)}.highlight .cp{color:var(--syntax-constant)}.highlight .c1{color:var(--syntax-comment)}.highlight .cs{color:var(--syntax-comment);background-color:var(--syntax-attention-bg)}.highlight .gd{color:var(--syntax-markup-deleted-text);background-color:var(--syntax-markup-deleted-bg)}.highlight .ge{color:var(--syntax-markup-italic);font-style:italic}.highlight .gr{color:var(--syntax-invalid-illegal-text);background-color:var(--syntax-invalid-illegal-bg)}.highlight .gh{color:var(--syntax-markup-heading)}.highlight .gi{color:var(--syntax-markup-inserted-text);background-color:var(--syntax-markup-inserted-bg)}.highlight .go{color:#586e75}.highlight .gp{color:#586e75}.highlight .gs{color:var(--syntax-markup-bold);font-weight:bold}.highlight .gu{color:var(--syntax-markup-heading)}.highlight .gt{color:#586e75}.highlight .kc{color:var(--syntax-keyword)}.highlight .kd{color:var(--syntax-keyword)}.highlight .kn{color:var(--syntax-keyword)}.highlight .kp{color:var(--syntax-keyword)}.highlight .kr{color:var(--syntax-keyword)}.highlight .kt{color:var(--syntax-entity)}.highlight .ld{color:#586e75}.highlight .m{color:var(--syntax-constant)}.highlight .s{color:var(--syntax-string)}.highlight .il{color:var(--syntax-constant)}.highlight .na{color:var(--syntax-constant)}.highlight .nb{color:var(--syntax-builtin)}.highlight .nc{color:var(--syntax-definition)}.highlight .no{color:var(--syntax-constant)}.highlight .nd{color:var(--syntax-entity)}.highlight .ni{color:var(--syntax-entity)}.highlight .ne{color:#cb4b16}.highlight .nf{color:var(--syntax-definition)}.highlight .nt{color:var(--syntax-tag)}.highlight .ow{color:var(--syntax-constant)}.highlight .w{color:#586e75}.highlight .mf{color:var(--syntax-constant)}.highlight .mh{color:var(--syntax-constant)}.highlight .mi{color:var(--syntax-constant)}.highlight .mo{color:var(--syntax-constant)}.highlight .sb{color:#93a1a1}.highlight .sc{color:var(--syntax-string)}.highlight .sd{color:var(--syntax-comment)}.highlight .s2{color:var(--syntax-string)}.highlight .se{color:#cb4b16}.highlight .sh{color:#586e75}.highlight .si{color:var(--syntax-string)}.highlight .sx{color:var(--syntax-string)}.highlight .sr{color:var(--syntax-string-regexp)}.highlight .s1{color:var(--syntax-string)}.highlight .ss{color:var(--syntax-string)}.highlight .bp{color:var(--syntax-variable)}.highlight .vc{color:var(--syntax-variable)}.highlight .vg{color:var(--syntax-variable)}.highlight .vi{color:var(--syntax-variable)}table.highlight{border-collapse:collapse;width:100%}table.highlight td{padding:0 9px}table.highlight td[data-line]{text-align:right;background-color:#00000005;width:1px}table.highlight td[data-line]:before{content:attr(data-line);opacity:.5}:root{--font-en: source-serif-pro, Georgia, "Times New Roman";--font-song: source-han-serif-tc, "Han Song TCS";--font-kai: "Han Kaiti TCS";--font-code: Menlo, Monaco, Consolas, "Courier New", monospace;--rgb-light: 253, 253, 252;--rgb-dark: 61, 68, 81}:root,.light-theme{--rgb-text: 0, 0, 0;--rgb-bg: var(--rgb-light);--font-color: #1f2937;--tag-bg: #eee;--code-bg: #f6f8fa}.dark-theme{--rgb-text: 255, 255, 255;--rgb-bg: var(--rgb-dark);--font-color: #ebecf0;--tag-bg: rgba(102, 199, 255, .1);--code-bg: #282c34}html:lang(zh-hans){--font-song: source-han-serif-sc, "Han Song CTS";--font-kai: "Han Kaiti CTS"}html:lang(zh-hant){--font-song: source-han-serif-tc, "Han Song TCS", "Hiragino Mincho ProN"}html:lang(ja){--font-song: source-han-serif-japanese, "Han Song TCS", "Hiragino Mincho ProN";--font-kai: "Han Kaiti TCS"}body{background:rgb(var(--rgb-bg));color:var(--font-color);padding:4em;box-sizing:border-box;writing-mode:vertical-rl;hanging-punctuation:allow-end last;text-rendering:geometricPrecision;text-align:justify;overflow-y:hidden;font:500 18px/1.42 var(--font-song),serif}.pswp{writing-mode:horizontal-tb}.latin{-webkit-hyphens:auto;hyphens:auto;font-weight:400;font-family:var(--font-en),serif;-webkit-hyphenate-limit-before:3;-webkit-hyphenate-limit-after:2;-ms-hyphenate-limit-chars:6 3 2;hyphenate-limit-chars:6 3 2}.kana{font-feature-settings:"vpal"}.tcy{-webkit-text-combine:horizontal;-ms-text-combine-horizontal:all;text-combine-upright:all;text-indent:0}.wf-active .tcy{text-align:center}.to-fullwidth{font-feature-settings:"fwid";text-transform:full-width}.aalt-on{font-feature-settings:"aalt"}.imitate-pcs .squeeze-out{letter-spacing:-.5rem}.imitate-pcs .squeeze-in{margin-top:-.5rem}.squeeze-in+.squeeze-in-space{display:none}.squeeze-other-punc+.squeeze-in-space{display:none}.squeeze-out-space{display:none}.squeeze-out-space:last-child{display:inline}.squeeze-out-space:before,.squeeze-in-space:before{content:" ";font:.833em Courier}.opentype-pcs .squeeze-other-punc+.squeeze-in{font-feature-settings:"vhal"}.opentype-pcs .squeeze-in+.squeeze-in{font-feature-settings:"vhal"}.opentype-pcs .squeeze-out{font-feature-settings:"vhal"}.opentype-pcs .squeeze-out:last-child{font-feature-settings:"vhal" 0}rt{-webkit-font-smoothing:initial;-moz-osx-font-smoothing:initial;text-rendering:initial;font-size:45%;ruby-align:center;text-align:center;letter-spacing:0;font-feature-settings:"vpal"}.cjk-punc{font-variant-east-asian:traditional}pre,code,.gist{-webkit-locale:"en";font-weight:400;font-family:var(--font-code)}p>code{background:var(--syntax-attention-bg);padding-inline-start:6px;padding-inline-end:6px;border-radius:3px}.win ::-webkit-scrollbar{width:16px;height:16px}.win ::-webkit-scrollbar-button{display:none;width:0;height:0}.win ::-webkit-scrollbar-thumb,.win ::-webkit-scrollbar-track{background-clip:padding-box;border:4px solid transparent;border-radius:8px}.win ::-webkit-scrollbar-corner,.win ::-webkit-scrollbar-thumb,.win ::-webkit-scrollbar-track{background-color:transparent}.win :hover::-webkit-scrollbar-thumb{background-color:#0d0d0d1a}.spring{max-height:36em;box-sizing:border-box}.spring article{line-height:1.42}.spring p{margin-block-start:0;margin-block-end:1em}.spring p:last-of-type{margin-block-end:0}.spring a{color:rgb(var(--t-rc-primary));text-decoration:none}.spring a:hover{text-decoration:underline}.spring img{max-height:100%}.spring .blockquote{overflow:auto}.spring blockquote{position:relative;margin:0 1em;padding:2em;font-weight:400;font-family:var(--font-en),var(--font-kai),cursive,serif}.spring blockquote:before{position:absolute;top:8px;right:8px;display:inline-block;width:16px;height:8px;border-top:4px solid;border-right:4px solid;content:"";border-color:rgba(var(--t-rc-primary),.8)}.spring blockquote:after{position:absolute;left:8px;bottom:8px;display:inline-block;width:16px;height:8px;border-bottom:4px solid;border-left:4px solid;content:"";border-color:rgba(var(--t-rc-primary),.8)}.spring blockquote.horizontal{writing-mode:horizontal-tb;width:320px;max-width:100vw;text-align:left;margin-top:auto;margin-bottom:auto}.spring blockquote.horizontal.wide{width:480px}.spring em:lang(zh),.spring em:lang(ja){font-style:normal;text-decoration:underline}.spring hr{position:relative;border:none;margin:2em;height:auto;text-align:center;text-orientation:upright}.spring hr:before{content:"\2767"}@counter-style circled-decimal{system: fixed 0; symbols: "\24ea" "\2460" "\2461" "\2462" "\2463" "\2464" "\2465" "\2466" "\2467" "\2468" "\2469" "\246a" "\246b" "\246c" "\246d" "\246e" "\246f" "\2470" "\2471" "\2472" "\2473" "\3251" "\3252" "\3253" "\3254" "\3255" "\3256" "\3257" "\3258" "\3259" "\325a" "\325b" "\325c" "\325d" "\325e" "\325f" "\32b1" "\32b2" "\32b3" "\32b4" "\32b5" "\32b6" "\32b7" "\32b8" "\32b9" "\32ba" "\32bb" "\32bc" "\32bd" "\32be" "\32bf"; suffix: " ";}.spring ol,.spring ul{padding-inline-start:1.42em}.spring ol>li{list-style-type:circled-decimal}.spring figure{margin:0 1.62em}.spring figcaption{margin-block-start:8px;font-size:86%;color:rgba(var(--rgb-text),.68)}.spring .photo,.spring .gallery{margin:auto 1.8em}.spring .photo figure,.spring .gallery figure{margin:0}.spring ruby{line-height:1.8}.spring pre{margin:0}.block-table{margin:0 1.6em;padding:0 10px;overflow:auto}.block-table table{border-collapse:collapse}.block-table th,.block-table td{text-align:center;padding:.8em .4em;border:1px solid rgba(var(--rgb-text),.48)}.block-table th{white-space:nowrap}.block-code{margin:0 2em;writing-mode:initial;font-size:13px;line-height:20px;height:100%;min-width:360px;box-sizing:border-box;border-radius:8px;overflow-y:auto;background-color:var(--code-bg);scrollbar-color:rgba(13,13,13,.1) transparent;scrollbar-width:thin}.block-code .code-head+.highlight-table{height:calc(100% - 28px);overflow-y:auto;scrollbar-color:rgba(13,13,13,.1) transparent;scrollbar-width:thin}.block-code>.code-head{padding:.2em 1em;background-color:#0000000a}.block-code>pre,.block-code>.highlight{padding:1em}table.highlight tr:first-of-type td{padding-top:8px}table.highlight tr:last-of-type td{padding-bottom:20px}.block-embed{position:relative;margin:0 2em;writing-mode:initial;max-width:1200px;height:100%}.block-embed>figure{height:100%}.block-embed iframe[src^="https://codepen.io"],.block-embed iframe[src^="https://jsfiddle.net"],.block-embed iframe[src^="https://codesandbox.io"]{height:100%;width:680px}.block-embed.stroked iframe{box-shadow:0 0 0 1px #0000001a;border-radius:4px;overflow:hidden}.block-embed.rich .iframe_wrapper{padding-bottom:0!important;height:100%}.blockquote{margin:0 2em}.site{margin-left:8em}.site:after{display:block;content:"";width:6px;height:68px;background:rgb(var(--t-rc-primary));margin:0 2em}.site a{display:inline-block;vertical-align:middle}.site_logo{margin-bottom:10px}.site_logo img{width:36px;height:36px;vertical-align:middle}.site .site_name{color:rgb(var(--rgb-text));font-size:1.24em;font-weight:700;font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","PingFang SC","Hiragino Sans GB","Droid Sans Fallback","Microsoft YaHei",sans-serif}h1.p-name{font-size:1.2em;font-weight:700;margin:0;letter-spacing:.02em;line-height:1.1;color:rgba(var(--rgb-text),.98)}h2.p-summary{font-size:1.1em;font-weight:500;margin:0;margin-block-start:.6em;color:rgba(var(--rgb-text),.72)}.entry-cover{margin-right:2em}.e-content{margin-right:4em}.entry-meta{margin-right:3em}.entry-meta a{color:var(--font-color)}.entry-meta .dt-published{text-orientation:upright}.dt-published>span{display:inline-block;width:1px;height:2em;background:rgba(var(--rgb-text),.48)}.entry-authors{padding-top:3em;display:inline-block;margin-top:2em}.entry-authors .p-author{display:inline-block}.entry-authors .p-author+.p-author:before{content:"\3001"}.entry-tags{margin-right:2em}.entry-tags a{display:inline-block;font:600 12px/1 sans-serif;padding:10px 6px;color:rgba(var(--rgb-text),.62);background:var(--tag-bg);border-radius:20px;text-decoration:none}.entry-tags a:hover{opacity:.8;text-decoration:none}.theme-toggle{position:fixed;top:16px;right:60px;width:50px;height:28px}.theme-toggle>input{position:absolute;opacity:0;right:-9999em}.theme-toggle>label{position:relative;display:block;width:100%;height:100%;border-radius:99em;background-color:rgba(var(--rgb-dark),.2);cursor:pointer}.theme-toggle input:checked+label{background-color:rgba(var(--rgb-light),.2)}.theme-toggle_handle{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:99em;background:#fff;box-shadow:0 .15em .3em #00000026,0 .2em .5em #0000004d}.theme-toggle input:checked+label .theme-toggle_handle{background:rgba(0,0,0,.8);box-shadow:0 .1em rgba(var(--rgb-light),.16);transform:translate(22px)}.theme-toggle svg{position:absolute;top:6px;z-index:2;transition:color .15s linear}.theme-toggle .sun{left:6px;color:#ff4e5a;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.theme-toggle .moon{right:6px;color:rgba(var(--rgb-dark),.8)}.theme-toggle input:checked+label .sun{color:rgba(var(--rgb-light),.8)}.theme-toggle input:checked+label .moon{color:#ffa722}
