﻿/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace,monospace;font-size:1em;}a{background-color:rgba(0,0,0,0);-webkit-text-decoration-skip:objects;}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted;}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em;}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,html [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{display:inline-block;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-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}html{font-size:16px;box-sizing:border-box}body{line-height:1.5;color:#34495e;background:#fefefe;border-top:3px solid #c05b4d;overflow-y:scroll}.container{width:800px;margin:0 auto;padding-bottom:4rem}@media screen and (max-width: 800px){body{border-top:0}.container{width:100%;box-shadow:-1px -5px 5px #cacaca}}a{color:#c05b4d;text-decoration:none}img{max-width:100%;height:auto;display:inline-block;vertical-align:middle}pre{display:block;padding:1rem;color:#cdd6f4;background-color:#1e1e2e;border-radius:6px}pre,code{font-size:90%;overflow:auto;font-family:Consolas,Monaco,Menlo,Consolas,monospace;margin-bottom:0;color:#c9d2dc}pre>code{display:block;border:none;font-style:normal;font-size:1rem}iframe{border:0}#header{padding:20px;display:flex;justify-content:space-between}#header .logo{font-family:Chancery,cursive,LiSu,sans-serif;font-weight:400}#header .logo a{color:#34495e;font-size:48px}#header .menu{align-self:flex-start;font-family:Athelas,STHeiti,Microsoft Yahei,serif}#header .menu ul{display:inline-block;padding-right:25px}#header .menu ul li{display:inline-block;margin-right:5px;display:inline-block;vertical-align:middle;transform:translateZ(0);backface-visibility:hidden;box-shadow:0 0 1px rgba(0,0,0,0);position:relative;overflow:hidden}#header .menu ul li:before{content:"";position:absolute;z-index:-1;height:2px;bottom:0;left:51%;right:51%;background:#c05b4d;transition-duration:.2s;transition-property:right,left;transition-timing-function:ease-out}#header .menu ul li.active:before,#header .menu ul li:active:before,#header .menu ul li:focus:before,#header .menu ul li:hover:before{right:0;left:0}#header .menu ul li a{color:#34495e;font-size:18px}@media screen and (max-width: 800px){#header{padding:50px 0 0;text-align:center}#header .logo,#header .menu{display:none}}main{clear:both}main .content{padding:0 20px}main .posts{margin-bottom:20px;border-bottom:1px solid #e6e6e6}main .read-more a{color:#c05b4d;font-family:Athelas,STHeiti,Microsoft Yahei,serif;font-size:1.1rem}main .read-more a:hover{text-decoration:underline}main .about,main .post{padding:1.5rem 0}main .about .post__title,main .post .post__title{font-family:Athelas,STHeiti,Microsoft Yahei,serif}main .about .post__title a,main .post .post__title a{color:#34495e}main .about h2,main .about h3,main .about h4,main .about h5,main .about h6,main .post h2,main .post h3,main .post h4,main .post h5,main .post h6{font-weight:400}main .about :not(pre)>code,main .post :not(pre)>code{padding:3px 5px;border-radius:4px;color:#c7254e;background:#f8f5ec}main .about p>a,main .post p>a{color:#c05b4d}main .about p>a:hover,main .post p>a:hover{border-bottom:1px solid #c05b4d}main .about blockquote,main .post blockquote{margin:2em 0;padding:10px 20px;position:relative;color:rgba(52,73,94,.8);background-color:rgba(192,91,77,.05);border-left:3px solid rgba(192,91,77,.3);box-shadow:1px 1px 2px rgba(0,0,0,.125)}main .about blockquote p,main .post blockquote p{margin:0}main .about table,main .post table{width:100%;max-width:100%;margin:10px 0;border-spacing:0;box-shadow:2px 2px 3px rgba(0,0,0,.125)}main .about table thead,main .post table thead{background:#f8f5ec}main .about table th,main .about table td,main .post table th,main .post table td{padding:5px 15px;border:1px double #f4efe1}main .about table tr:hover,main .post table tr:hover{background-color:#f8f5ec}main .about .footnote-definition,main .post .footnote-definition{padding-left:40px}main .about .footnote-definition:first-of-type,main .post .footnote-definition:first-of-type{border-top:2px dashed #c05b4d;margin-top:1rem;padding-top:1rem}main .about .footnote-definition sup.footnote-definition-label,main .post .footnote-definition sup.footnote-definition-label{font-size:100%;position:unset;top:unset}main .about .footnote-definition sup.footnote-definition-label::after,main .post .footnote-definition sup.footnote-definition-label::after{content:"."}main .about .footnote-definition p,main .post .footnote-definition p{display:inline}main .about__title,main .post__title{margin:0;font-size:26px;font-weight:400;display:inline-block;vertical-align:middle;transform:translateZ(0);backface-visibility:hidden;box-shadow:0 0 1px rgba(0,0,0,0);position:relative;overflow:hidden}main .about__title:before,main .post__title:before{content:"";position:absolute;z-index:-1;height:2px;bottom:0;left:51%;right:51%;background:#c05b4d;transition-duration:.2s;transition-property:right,left;transition-timing-function:ease-out}main .about__title.active:before,main .about__title:active:before,main .about__title:focus:before,main .about__title:hover:before,main .post__title.active:before,main .post__title:active:before,main .post__title:focus:before,main .post__title:hover:before{right:0;left:0}main .about__category,main .post__category{display:inline}main .about__category a,main .post__category a{color:inherit}main .about__category a:before,main .post__category a:before{content:"·";padding-right:2px}main .about__category a:hover,main .post__category a:hover{color:#c05b4d}main .about__meta,main .post__meta{font-size:14px;color:#8a8a8a}main .about__summary,main .post__summary{margin-bottom:1rem}main .post-footer{margin-top:20px;border-top:1px solid #e6e6e6}main .post-footer:after{clear:both;height:0;width:100%;content:"";display:block}main .post-tags{padding:15px 0}main .post-tags a{margin-right:5px;color:#c05b4d;word-break:break-all}main .post-nav{margin:1rem 0}main .post+.post{border-top:1px solid #e6e6e6}main .pagination{clear:both;font-family:Athelas,STHeiti,Microsoft Yahei,serif;margin:2rem 0}main .pagination a{color:#34495e}.next,.previous{font-weight:600;font-size:20px;transition:transform .3s ease-out}.next:hover,.previous:hover{color:#c05b4d}.next{float:right}.next:hover{transform:translateX(4px)}.previous{float:left}.previous:hover{transform:translateX(-4px)}.taxonomies{margin:2em 0 3em;text-align:center}.taxonomies__title{display:inline-block;font-size:18px;color:#c05b4d;border-bottom:2px solid #c05b4d}.taxonomies__items{margin:10px 0}.taxonomies__items a{margin:5px 10px;word-wrap:break-word;position:relative}.taxonomies__items a:hover{color:#c05b4d}.taxonomies__items a .count{position:relative;top:-8px;right:-2px;color:#c05b4d;font-size:12px}.taxonomy{margin:2em 0}.taxonomy__item{padding:3px 20px;border-left:1px solid #cacaca;transition:.2s ease-out}.taxonomy__item:hover{border-left:3px solid #c05b4d;transform:translateX(4px)}.taxonomy__item__time{margin-right:10px;color:#8a8a8a}.taxonomy__item__title a{color:#c05b4d}.about p>a{color:#c05b4d;word-break:break-all}.about p>a:hover{border-bottom:1px solid #c05b4d}.site-footer{margin-top:2.5rem;padding:1.2rem 20px;text-align:center;font-size:.85rem;color:#8a8a8a;border-top:1px dashed #e6e6e6;line-height:1.6}.site-footer__filing{margin:0}.site-footer__link{color:#8a8a8a;text-decoration:none;margin:0 .4rem;white-space:nowrap}.site-footer__link:hover{color:#c05b4d;text-decoration:underline}.site-footer__icon{display:inline-block;vertical-align:-2px;margin-right:.2rem;fill:currentColor}.mobile-navbar{display:none;position:fixed;top:0;left:0;width:100%;height:50px;text-align:center;z-index:99}.mobile-navbar .mobile-header-logo{display:inline-block;margin-right:50px}.mobile-navbar .mobile-header-logo .logo{font-size:22px;line-height:50px}.mobile-navbar .mobile-navbar-icon{cursor:pointer;color:#c05b4d;height:50px;width:50px;font-size:24px;text-align:center;float:left;position:relative;transition:background .5s}@keyframes clickfirst{0%{transform:translateY(6px) rotate(0deg)}100%{transform:translateY(0) rotate(45deg)}}@keyframes clickmid{0%{opacity:1}100%{opacity:0}}@keyframes clicklast{0%{transform:translateY(-6px) rotate(0deg)}100%{transform:translateY(0) rotate(-45deg)}}@keyframes outfirst{0%{transform:translateY(0) rotate(-45deg)}100%{transform:translateY(-6px) rotate(0deg)}}@keyframes outmid{0%{opacity:0}100%{opacity:1}}@keyframes outlast{0%{transform:translateY(0) rotate(45deg)}100%{transform:translateY(6px) rotate(0deg)}}.mobile-navbar .mobile-navbar-icon span{position:absolute;left:15px;top:25px;left:calc((100% - 20px)/2);top:calc((100% - 1px)/2);width:20px;height:1px;background-color:#c05b4d}.mobile-navbar .mobile-navbar-icon span:nth-child(1){transform:translateY(6px) rotate(0deg)}.mobile-navbar .mobile-navbar-icon span:nth-child(3){transform:translateY(-6px) rotate(0deg)}.mobile-navbar .mobile-navbar-icon.icon-click span:nth-child(1){animation-duration:.5s;animation-fill-mode:both;animation-name:clickfirst}.mobile-navbar .mobile-navbar-icon.icon-click span:nth-child(2){animation-duration:.2s;animation-fill-mode:both;animation-name:clickmid}.mobile-navbar .mobile-navbar-icon.icon-click span:nth-child(3){animation-duration:.5s;animation-fill-mode:both;animation-name:clicklast}.mobile-navbar .mobile-navbar-icon.icon-out span:nth-child(1){animation-duration:.5s;animation-fill-mode:both;animation-name:outfirst}.mobile-navbar .mobile-navbar-icon.icon-out span:nth-child(2){animation-duration:.2s;animation-fill-mode:both;animation-name:outmid}.mobile-navbar .mobile-navbar-icon.icon-out span:nth-child(3){animation-duration:.5s;animation-fill-mode:both;animation-name:outlast}@media screen and (max-width: 800px){.mobile-navbar{display:block}}:root{color-scheme:light;--page: #f8f5ec;--surface: #fefefe;--ink: #34495e;--muted: #8a8a8a;--line: #e6e6e6;--accent: #c05b4d;--accent-soft: #f8f5ec}html{font-size:16px;scroll-behavior:smooth;background:var(--page)}body{color:var(--ink);background:var(--page);border-top:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;line-height:1.75;-webkit-font-smoothing:antialiased}.container{width:min(100% - 40px,1040px);margin:28px auto 48px;padding:0 0 48px;background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:0 18px 55px rgba(52,73,94,.06)}#header{min-height:78px;align-items:center;gap:24px;padding:18px 40px;border-bottom:1px solid var(--line)}#header .logo{white-space:nowrap;font-family:inherit;font-weight:700;letter-spacing:-.04em}#header .logo a{color:var(--ink);font-size:27px}#header .menu{font-family:inherit}#header .menu ul{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px;padding:0;margin:0}#header .menu ul li{margin:0}#header .menu ul li::before{display:none}#header .menu ul li a{display:inline-block;padding:7px 11px;border-radius:999px;color:#526174;font-size:14px;transition:color .18s ease,background .18s ease}#header .menu ul li a:hover{color:var(--accent);background:var(--accent-soft)}main .content{padding:12px 56px 0}main .posts{border:0;margin:0}main .post,main .about{padding:32px 0}main .post+.post{border-top:1px solid var(--line)}main .post__title{margin:0 0 8px;font-family:inherit;font-size:clamp(1.45rem,2.5vw,1.9rem);line-height:1.35;font-weight:700;letter-spacing:-.025em}main .post__title a{color:var(--ink);transition:color .18s ease}main .post__title a:hover{color:var(--accent)}main .post__title::after{display:none}main .post__meta{color:var(--muted);font-size:.85rem}main .post__summary{margin-top:16px;color:#465568}main .read-more a{font:inherit;font-size:.92rem;font-weight:600;color:var(--accent)}main .about h1,main .about h2,main .about h3,main .about h4,main .about h5,main .about h6,main .post h1,main .post h2,main .post h3,main .post h4,main .post h5,main .post h6{color:var(--ink);font-weight:700;line-height:1.4}main .about h2,main .post h2{margin-top:2.2em;padding-bottom:.35em;border-bottom:1px solid var(--line)}main .about h3,main .post h3{margin-top:1.8em}main .about p,main .about li,main .post p,main .post li{color:#3e4c5e}main .about p,main .post p{margin:1.1em 0}main .about a,main .post a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:3px}main .about p>a:hover,main .post p>a:hover{border:0;text-decoration:underline}main .about :not(pre)>code,main .post :not(pre)>code{padding:.18em .42em;color:#9e473d;background:var(--accent-soft);border-radius:5px}main .about blockquote,main .post blockquote{margin:1.6em 0;padding:14px 20px;color:rgba(52,73,94,.8);background:rgba(192,91,77,.05);border:0;border-left:3px solid rgba(192,91,77,.35);border-radius:0 10px 10px 0;box-shadow:none}main .about table,main .post table{display:block;overflow-x:auto;border-collapse:collapse;box-shadow:none}main .about table thead,main .post table thead{background:#f8f5ec}main .about table th,main .about table td,main .post table th,main .post table td{padding:9px 13px;border:1px solid var(--line)}main .about table tr:hover,main .post table tr:hover{background:#fbf9f4}main .about img,main .post img{border-radius:10px}main pre{margin:1.4em 0;padding:18px 20px;border:1px solid #31394b;border-radius:12px;box-shadow:0 8px 20px rgba(17,24,39,.08)}main .code-block{margin:1.4em 0;overflow:hidden;background:#1e1e2e;border:1px solid #31394b;border-radius:12px;box-shadow:0 8px 20px rgba(17,24,39,.08)}main .code-block pre{margin:0;border:0;border-radius:0;box-shadow:none}main .code-block__toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:38px;padding:5px 12px 5px 20px;color:#a6adc8;border-bottom:1px solid #31394b;font-size:.8rem}main .code-block__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}main .code-block__copy{flex:none;padding:3px 8px;color:#cdd6f4;background:rgba(0,0,0,0);border:1px solid #6c7086;border-radius:5px;cursor:pointer}main .code-block__copy:hover,main .code-block__copy:focus-visible{color:#fff;border-color:#cdd6f4}main pre.mermaid{overflow-x:auto;color:var(--ink);background:var(--surface);border-color:var(--line);text-align:center;white-space:normal}main pre.mermaid svg{max-width:100%;height:auto}main .post-footer{border-color:var(--line)}main .post-tags a{display:inline-block;margin:4px 5px 4px 0;padding:3px 10px;color:var(--accent);background:var(--accent-soft);border-radius:999px;font-size:.82rem}main .pagination{font-family:inherit}main .pagination a{color:var(--accent)}.giallo-l{display:inline-block;min-height:1lh;width:100%}.giallo-ln{display:inline-block;min-width:3ch;margin-right:.4em;padding:0 .4em;opacity:.65;text-align:right;user-select:none}.post-content h1,.post-content h2,.post-content h3,.post-content h4,.post-content h5,.post-content h6,.about h1,.about h2,.about h3,.about h4,.about h5,.about h6{scroll-margin-top:80px}.post-content .zola-anchor,.about .zola-anchor{margin-left:.35em;color:var(--muted);font-size:.8em;opacity:.55;text-decoration:none}.post-content .zola-anchor:hover,.post-content .zola-anchor:focus-visible,.about .zola-anchor:hover,.about .zola-anchor:focus-visible{color:var(--accent);opacity:1}.post-content .markdown-alert-note,.about .markdown-alert-note{--alert-color: #3b78a0;--alert-bg: #eef6fb}.post-content .markdown-alert-tip,.about .markdown-alert-tip{--alert-color: #32815b;--alert-bg: #eef8f1}.post-content .markdown-alert-important,.about .markdown-alert-important{--alert-color: #7659a1;--alert-bg: #f4f0fa}.post-content .markdown-alert-warning,.about .markdown-alert-warning{--alert-color: #a86719;--alert-bg: #fff6e9}.post-content .markdown-alert-caution,.about .markdown-alert-caution{--alert-color: #b84e43;--alert-bg: #fcf0ec}.post-content blockquote[class*=markdown-alert-],.about blockquote[class*=markdown-alert-]{color:var(--ink);background:var(--alert-bg);border-left:4px solid var(--alert-color);box-shadow:none}.post-content blockquote[class*=markdown-alert-] p,.about blockquote[class*=markdown-alert-] p{color:inherit}.post-content blockquote[class*=markdown-alert-]::before,.about blockquote[class*=markdown-alert-]::before{display:block;margin-bottom:.35em;color:var(--alert-color);font-weight:700}.post-content .markdown-alert-note::before,.about .markdown-alert-note::before{content:"提示"}.post-content .markdown-alert-tip::before,.about .markdown-alert-tip::before{content:"技巧"}.post-content .markdown-alert-important::before,.about .markdown-alert-important::before{content:"重要"}.post-content .markdown-alert-warning::before,.about .markdown-alert-warning::before{content:"警告"}.post-content .markdown-alert-caution::before,.about .markdown-alert-caution::before{content:"注意"}.taxonomy__item{padding:9px 14px;border-left:2px solid var(--line)}.taxonomy__item:hover{border-color:var(--accent)}.taxonomy__item__title a{color:var(--ink)}.taxonomy__item__time{color:var(--muted)}.taxonomies__title{color:var(--accent);border-color:var(--accent)}.mobile-navbar{background:rgba(254,254,254,.96);box-shadow:0 1px 8px rgba(52,73,94,.08);backdrop-filter:blur(12px)}.mobile-navbar .mobile-header-logo .logo{color:var(--ink);font-weight:700}.mobile-navbar-icon{padding:0;border:0;background:rgba(0,0,0,0)}.mobile-menu{position:fixed;inset:50px 0 0;z-index:98;width:100%;min-height:0;overflow-y:auto;background:rgba(254,254,254,.98)}.mobile-menu[hidden]{display:none}.mobile-menu .mobile-menu-list{margin:0;padding:12px 18px 24px;border:0;list-style:none}.mobile-menu .mobile-menu-item{padding:12px 8px;border-bottom:1px solid var(--line)}.mobile-menu .mobile-menu-item a{color:var(--ink)}body.menu-open{overflow:hidden}.back-to-top{position:fixed;right:20px;bottom:20px;z-index:10;display:grid;width:44px;height:44px;place-items:center;padding:0;color:#fff;background:var(--accent);border:0;border-radius:50%;box-shadow:0 5px 18px rgba(52,73,94,.2);font-size:24px;line-height:1;cursor:pointer;transition:transform .18s ease,background .18s ease}.back-to-top:hover{transform:translateY(-3px);background:#a94d42}.back-to-top:focus-visible{outline:3px solid rgba(192,91,77,.35);outline-offset:3px}.back-to-top[hidden]{display:none}.post-toc{display:block;position:fixed;top:118px;right:max(16px,(100vw - 1040px)/2 - 260px);z-index:2;width:230px;max-height:calc(100vh - 150px);overflow:auto;margin:0;padding:10px 14px;color:#526174;background:#f8f5ec;border:1px solid var(--line);border-radius:10px;box-shadow:none}.post-toc .post-toc-title{margin:0;color:var(--ink);font-size:.9rem;font-weight:650;text-transform:none;cursor:pointer}.post-toc .post-toc-content{max-height:calc(100vh - 205px);overflow:auto}.post-toc .post-toc-content ul{margin:8px 0;padding-left:20px;list-style:none}.post-toc .toc-link{color:#596a7d}.post-toc .toc-link.active{color:var(--accent);font-weight:650}@media screen and (max-width: 800px){.container{width:100%;margin:0;padding-bottom:30px;border:0;border-radius:0;box-shadow:none}#header{min-height:0;padding:56px 20px 8px}#header .logo,#header .menu{display:none}main .content{padding:8px 24px 0}main .post,main .about{padding:24px 0}main pre{margin-left:-8px;margin-right:-8px;padding:14px;border-radius:9px}}@media screen and (max-width: 1519px){.post-toc{top:118px;right:16px;width:auto;max-width:min(300px,100vw - 32px);max-height:min(70vh,560px);box-shadow:0 8px 28px rgba(52,73,94,.14)}.post-toc .post-toc-content{max-height:calc(70vh - 72px)}}@media screen and (max-width: 800px){.post-toc{top:calc(50px + 10px);right:12px}.back-to-top{right:16px;bottom:16px}}@media screen and (max-width: 420px){main .content{padding-right:18px;padding-left:18px}.mobile-navbar .mobile-header-logo{margin-right:34px}}