*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}:target{scroll-margin-block:5ex}img:not(p>img),picture,video,canvas,figure>svg,figure>video,svg:not(p>svg){display:block}p,h1,h2,h3{overflow-wrap:break-word}body{min-block-size:100vb}html{-moz-text-size-adjust:none;text-size-adjust:none}*{box-sizing:border-box}:root{color-scheme:light!important;--gap: 14px;--font-small: 14px;--width: 575px;--border: 1.5px;--radius: 4px;--gray-text: rgba(0, 0, 0, .4);--gray-line: rgba(0, 0, 0, .2);--gray-bg: rgba(0, 0, 0, .06);--text: #000}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;src:url(/tonsky/fonts/IBMPlexSans-Regular-Pi.woff2) format("woff2");unicode-range:U+03C0,U+0E3F,U+2032-2033,U+2070,U+2074-2079,U+2080-2089,U+2113,U+2116,U+2126,U+212E,U+2150-2151,U+2153-215E,U+2190-2199,U+21A9-21AA,U+21B0-21B3,U+21B6-21B7,U+21BA-21BB,U+21C4,U+21C6,U+2202,U+2206,U+220F,U+2211,U+2215,U+221A,U+221E,U+222B,U+2248,U+2260,U+2264-2265,U+2500-259F,U+25CA,U+2713,U+274C,U+2B0E-2B11}@font-face{font-family:IBM Plex Sans TC;src:url(https://cdn.jsdelivr.net/gh/OverflowCat/blog@test_a/tonsky/fonts/IBMPlexSansTC-Text.woff2) format("woff2");font-weight:400;font-style:normal}@font-face{font-family:IBM Plex Sans TC;src:url(https://cdn.jsdelivr.net/gh/OverflowCat/blog@test_a/tonsky/fonts/IBMPlexSansTC-Text.woff2) format("woff2");font-weight:450;font-style:normal}@font-face{font-family:IBM Plex Sans TC;src:url(https://cdn.jsdelivr.net/gh/OverflowCat/blog@test_a/tonsky/fonts/IBMPlexSansTC-Medium.woff2) format("woff2");font-weight:600;font-style:normal}@font-face{font-family:IBM Plex Sans TC;src:url(https://cdn.jsdelivr.net/gh/OverflowCat/blog@test_a/tonsky/fonts/IBMPlexSansTC-Bold.woff2) format("woff2");font-weight:700;font-style:normal}body{font:18px/1.5 IBM Plex Sans,Noto Sans CJK SC,Pingfang SC,sans-serif;font-feature-settings:"kern" 1,"liga" 1,"calt" 1;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--font-mono: "IBM Plex Mono", "Noto Sans CJK Mono SC", monospace, "Noto Sans CJK SC";font-weight:450}body p[lang^=zh]{line-height:1.68}body [lang=en]{font-family:IBM Plex Sans,Noto Sans,sans-serif}body [lang=zh-Hans],body [lang=zh-CN],body [lang=zh-SG]{font-family:IBM Plex Sans,IBM Plex Sans SC,Noto Sans,Noto Sans CJK SC,HarmonyOS Sans SC,sans-serif!important}body [lang=zh-Hant],body [lang=zh-TW],body [lang=zh-HK]{font-family:IBM Plex Sans,IBM Plex Sans TC,Noto Sans,Noto Sans CJK TC,HarmonyOS Sans TC,sans-serif!important}.content>blockquote[lang=en]{font-family:IBM Plex Sans!important}body{color:var(--text);background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAQSURBVHgBAQUA+v8A/dsp/wfbAwFy+CMuAAAAAElFTkSuQmCC)!important;background-color:#fddb29;background-color:#ffe02e!important;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.page{text-align:center}.spacer{flex-grow:1}.starred{margin:0 .5em 0 -1.5em}sup>a{border-block-end-width:0!important}.page a,nav:has(a:hover) a,footer a,#comments a{color:inherit;text-decoration:none;border-block-end:var(--border) solid var(--gray-line);transition:color .1s,border-color .1s,opacity .1s}.page a:has(img),nav:has(a:hover) a:has(img),footer a:has(img),#comments a:has(img),.page a.unset-a,nav:has(a:hover) a.unset-a,footer a.unset-a,#comments a.unset-a{border-block-end:none;transition:transform .1s}.page a:has(img):hover,nav:has(a:hover) a:has(img):hover,footer a:has(img):hover,#comments a:has(img):hover,.page a.unset-a:hover,nav:has(a:hover) a.unset-a:hover,footer a.unset-a:hover,#comments a.unset-a:hover{transform:scale(1.03)}.page a:has(img):active,nav:has(a:hover) a:has(img):active,footer a:has(img):active,#comments a:has(img):active,.page a.unset-a:active,nav:has(a:hover) a.unset-a:active,footer a.unset-a:active,#comments a.unset-a:active{transform:scale(1)}.page a:hover,nav:has(a:hover) a:hover,footer a:hover,#comments a:hover{color:var(--text);border-color:var(--text)}.page a:active,nav:has(a:hover) a:active,footer a:active,#comments a:active{opacity:.5}.content>*,h1{inline-size:96vi;max-inline-size:var(--width)}.content{text-align:initial;display:flex;flex-direction:column;gap:var(--gap);align-items:center}.content>img,.content>video,.content>iframe,.content>a>img,.content figure>picture>img,.content figure>img{border-radius:var(--radius)}#vert:target .content>img,#vert:target .content>video,#vert:target .content>iframe,#vert:target .content>a>img,#vert:target .content figure>picture>img,#vert:target .content figure>img{height:auto;max-width:35rem}.content>a{border:none}.content ul,.content ol{display:flex;flex-direction:column;gap:var(--gap);padding-inline-start:1em}.content ul{list-style-type:square}.content ul li[lang=en]::marker{color:#00000050}h2+p+blockquote{margin-block-end:30px;margin-inline-end:1em}blockquote{display:flex;flex-direction:column;gap:var(--gap);margin:var(--gap) 0;padding-inline-start:1em;border-inline-start:2px solid var(--gray-line)}blockquote[lang=en]{font-style:italic}.quote-author{text-align:right;font-size:15px}strong{font-weight:700}h1{font-size:1.82em;text-align:left;margin:auto;margin-block-start:.4em;margin-block-end:.6em}h1[lang^=zh]{margin-block-end:.2em}h3{font-size:1.4em}h2+h3{margin-block-start:-.75em;margin-block-end:.9em}h2{font-size:1.8em;line-height:50px}h2[lang=en]{margin:.8em 0 -.8em}h2[lang^=zh]{margin-block-start:.7em;margin-block-end:.4em}.label{text-align:center;font-size:12px;font-style:italic;margin:-1em 0 1em}code{font-style:normal;background:var(--gray-bg);padding:2px 6px;border-radius:4px;font-size:.944rem;word-break:break-all}pre>code{padding:0}p>code{font-size:17px}h1>code,h2>code,h3>code,h4>code,.loud>code,.foot>code{font-size:inherit!important}.content>pre,section>pre,blockquote>pre{writing-mode:horizontal-tb;max-inline-size:calc(var(--width) + 60px);background:var(--gray-bg);margin:var(--gap) 0;padding:16px 30px 14px;border-radius:8px;white-space:pre-wrap;word-wrap:break-word;font-style:normal;font-size:16px}#vert:target .content>pre,#vert:target section>pre,#vert:target blockquote>pre{max-width:max-content}.content>pre>code,section>pre>code,blockquote>pre>code{background:none;font-size:inherit;white-space:unset}sup,sub,.note-ref,.note-number{vertical-align:baseline;position:relative;font-size:.7em;line-height:1}sup,.note-ref,.note-number{inset-block-end:1.4ex}sub{inset-block-start:.5ex}.btn{line-height:20px;text-decoration:none;background:#0000001a;border:none;padding-block:0px;padding-inline:7px;display:inline-block;border-radius:4px;position:relative;inset-block-start:-1px;transition:background .1s}.btn:hover{background:#0000002e}.btn:active{background:#00000047}.footnote{margin-inline:5px}.footnotes-br{width:100px;height:2px;background:#000;margin-block-start:5em}.footnotes>ol{padding-left:1em}.notes{font-size:.8em}.note-number{margin-left:-1em}.date{color:#0000008c;font-size:14px;margin-left:4px}.footer{color:#0000008c}.footer{font-size:16px;margin-block-end:.5em}.footer>.separator{margin:0 4px}.footer>a{margin-right:5px}img.inline{margin:0;display:inline-block;position:relative;top:3px}.emoji{font-size:125%;line-height:22.5px}button{border:none;background:#0000001a;font-size:16px;padding:6px;transition:background .1s}button:hover{background:#0000002e}
