:root{color-scheme:light;-webkit-text-size-adjust:100%;text-size-adjust:100%;scrollbar-gutter:stable;color:#252a2e;--reading-muted:#687078;--reading-link:#355f7f;--reading-rule:#e1e5e8;--reading-code:#f5f7f8;--reading-display:"Iowan Old Style", "Palatino Linotype", "Songti SC", "Noto Serif CJK SC", serif;background:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans CJK SC,Microsoft YaHei,sans-serif;font-size:100%}*,:before,:after{box-sizing:border-box}body{overflow-wrap:anywhere;margin:0;line-height:1.85}.reading-shell{max-width:848px;min-height:100svh;padding:56px 24px 32px;padding-left:max(24px, env(safe-area-inset-left,0px));padding-right:max(24px, env(safe-area-inset-right,0px));padding-bottom:max(32px, calc(env(safe-area-inset-bottom,0px) + 20px));flex-direction:column;margin-inline:auto;display:flex}.reading-shell--article{max-width:748px}main{flex:1;min-width:0}.reading-shell>main>p,.reading-shell>main>section>p{max-width:42rem}[hidden]{display:none!important}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}a,.text-button{color:var(--reading-link);text-underline-offset:.2em;text-decoration-thickness:1px}a,button,summary,select{touch-action:manipulation}button,summary{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}button:active,summary:active,.site-nav a:active{background-color:var(--reading-code)}:focus-visible{outline:2px solid var(--reading-link);outline-offset:4px}h1,h2,h3,h4{overflow-wrap:anywhere;font-weight:600;line-height:1.5}h1,h2{font-family:var(--reading-display)}h1{letter-spacing:-.015em;margin:0 0 1rem;font-size:1.75rem}h2{margin:2.75rem 0 1rem;font-size:1.375rem}h3{margin:2rem 0 .75rem;font-size:1.125rem}p,ul,ol{margin:0 0 1.25rem}ul,ol{padding-left:1.4em}li+li{margin-top:.45em}img{max-width:100%;height:auto}button,input,textarea,select{font:inherit}input,textarea,select{font-size:max(1rem,16px)}.site-header{justify-content:space-between;align-items:center;gap:1rem 2rem;margin-bottom:3.75rem;display:flex}.site-name{min-height:44px;color:inherit;font-family:var(--reading-display);letter-spacing:.04em;align-items:center;font-size:1.375rem;font-weight:600;line-height:1.3;text-decoration:none;display:inline-flex}.site-nav{flex-wrap:wrap;gap:0 1.15rem;font-size:.9375rem;display:flex}.site-nav a{min-width:44px;min-height:44px;color:var(--reading-muted);align-items:center;padding-block:.35rem;text-decoration:none;display:inline-flex}.site-nav a[aria-current]{color:#252a2e;text-underline-offset:.4em;text-decoration:underline #a2acb3}.site-nav .site-nav__search{justify-content:center}.site-nav__search svg{flex-shrink:0}.home-intro{max-width:40rem}.home-intro h1{font-size:1.75rem}.home-intro>p:last-child{margin-bottom:0}.home-intro+section h2{margin-top:3rem}.resource-list{padding:0;list-style:none}.resource-list>li{margin:0 0 2rem}.resource-list :is(h2,h3){margin:0 0 .4rem;font-family:inherit;font-size:1.0625rem;font-weight:600}.resource-list :is(h2,h3) a,.post-index a{color:inherit;text-decoration:none}.resource-list :is(h2,h3) a{color:var(--reading-link)}.resource-list p{max-width:43rem;margin-bottom:.5rem}.resource-meta{color:var(--reading-muted);flex-wrap:wrap;align-items:center;gap:0 1rem;font-size:.8125rem;display:flex}.resource-meta a{align-items:center;min-width:44px;min-height:44px;display:inline-flex}.profile-details{grid-template-columns:6.5rem minmax(0,1fr);gap:.85rem 1.5rem;display:grid}.profile-details dt{color:var(--reading-muted);padding-top:.15rem;font-size:.875rem}.profile-details dd{margin:0}.section-back{margin-bottom:1.5rem;font-size:.875rem}.listing-header{flex-wrap:wrap;align-items:baseline;gap:.4rem 1rem;margin-bottom:1.5rem;display:flex}.listing-header h1{margin:0}.listing-header>span{font-size:.875rem}.friend-list{margin-block:2rem;padding:0;list-style:none}.friend-list li{padding-block:.5rem}.friend-list a{font-size:1.0625rem}.friend-list span{color:var(--reading-muted);margin-top:.25rem;font-size:.875rem;display:block}.muted,.post-index time,.article-meta{color:var(--reading-muted)}.post-index{padding:0;list-style:none}.post-index li{grid-template-columns:5.75rem minmax(0,1fr);align-items:baseline;gap:1.25rem;margin:0;padding-block:.65rem;line-height:1.75;display:grid}.post-index time{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.8125rem}.post-index a{overflow-wrap:anywhere}.year-nav{z-index:10;top:env(safe-area-inset-top,0px);background:#fff;flex-wrap:wrap;gap:.25rem 1.25rem;margin-block:.5rem 2rem;padding-block:.25rem;font-size:.875rem;display:flex;position:sticky}.year-nav a{align-items:center;min-width:44px;min-height:44px;display:inline-flex}.year-group h2{scroll-margin-top:calc(var(--year-nav-height,6rem) + 1.25rem + env(safe-area-inset-top,0px));margin:2.25rem 0 .65rem;font-size:1.5rem;font-weight:500}.site-footer{border-top:1px solid var(--reading-rule);color:var(--reading-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.25rem 1.5rem;margin-top:4.5rem;padding-top:1rem;font-size:.8125rem;display:flex}.site-footer p{align-items:center;min-height:44px;margin:0;display:flex}.site-footer nav{flex-wrap:wrap;align-items:center;gap:0 1.15rem;font-size:.875rem;display:flex}.site-footer nav :is(a,button){align-items:center;min-width:44px;min-height:44px;display:inline-flex}.site-footer a,.site-footer .text-button{color:var(--reading-muted);text-decoration:none}.text-button{cursor:pointer;background:0 0;border:0;min-width:44px;min-height:44px;padding:0;text-decoration:underline}.icon-button{min-width:44px;min-height:44px;color:inherit;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.skip-link{z-index:100;background:#fff;padding:.4rem .7rem;position:absolute;top:-5rem;left:1rem}.skip-link:focus{top:.5rem}.article-header{margin-bottom:2rem;scroll-margin-top:5rem}.article-header h1{text-wrap:balance;margin-bottom:1rem;scroll-margin-top:5rem;font-size:2rem;line-height:1.5}.article-meta{font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:.25rem 1.25rem;margin:0;font-size:.8125rem;display:flex}.article-meta a{color:inherit;text-decoration:none}.article-cover{text-align:center;margin:0 0 2rem}.article-cover img{object-fit:contain;width:100%;max-height:340px}.article-toc{border-block:1px solid var(--reading-rule);margin:2rem 0 2.5rem;padding-block:.25rem;font-size:.9375rem}summary{cursor:pointer;min-height:44px;padding-block:.45rem;line-height:1.8}.article-toc ul{margin:.75rem 0 1rem}.toc-subheading{margin-left:1em}.article-toc a{align-items:center;min-height:44px;padding-block:.25rem;display:inline-flex}.reading-prose{font-size:1.0625rem;line-height:1.95}.reading-prose :is(h1,h2,h3,h4){scroll-margin-top:calc(5rem + env(safe-area-inset-top,0px))}.reading-prose h2{margin-top:3rem;font-size:1.5rem}.reading-prose h3{font-size:1.125rem}.reading-prose blockquote{border-left:2px solid var(--reading-rule);color:#58626a;margin:1.75rem 0;padding-left:1.1rem}.reading-prose blockquote>:last-child{margin-bottom:0}.reading-prose :is(code,pre){font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.87em}.reading-prose :not(pre)>code{background:var(--reading-code);overflow-wrap:anywhere;border-radius:2px;padding:.12em .3em}.reading-prose pre{border:1px solid var(--reading-rule);overscroll-behavior-inline:contain;max-width:100%;padding:1.1rem;line-height:1.75;overflow-x:auto}.reading-prose pre code{font-size:1em}.code-block{margin-block:1.75rem}.code-block pre{margin:.2rem 0 0}.code-tools{justify-content:flex-end;font-size:.8125rem;display:flex}.reading-prose table{border-collapse:collapse;max-width:100%;margin-block:1.75rem;font-size:.9em;line-height:1.8;display:block;overflow-x:auto}.table-scroll{overscroll-behavior-inline:contain;max-width:100%;margin-block:1.75rem;overflow-x:auto}.table-scroll table{min-width:100%;max-width:none;margin:0;display:table;overflow:visible}.reading-prose :is(th,td){border:1px solid var(--reading-rule);text-align:left;padding:.65rem .8rem}.reading-prose th{background:var(--reading-code);font-weight:500}.reading-prose hr{border:0;border-top:1px solid var(--reading-rule);margin-block:2.5rem}.article-footer{border-top:1px solid var(--reading-rule);margin-top:3rem;padding-top:1.25rem;font-size:.875rem}.article-footer p{margin-bottom:.75rem}.article-tags{flex-wrap:wrap;gap:.25rem .85rem;display:flex}.article-tags a{align-items:center;min-height:44px;display:inline-flex}.post-navigation{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 2.5rem;margin-top:2rem;display:grid}.post-navigation>a{min-height:44px;color:inherit;font-size:.9375rem;line-height:1.8;text-decoration:none;display:block}.post-navigation span{color:var(--reading-muted);margin-bottom:.4rem;font-size:.8125rem;display:block}.article-comments{margin-top:2.5rem}.image-link{cursor:zoom-in;max-width:100%;display:inline-block}.article-image-dialog{max-width:calc(100vw - max(16px, env(safe-area-inset-left,0px)) - max(16px, env(safe-area-inset-right,0px)));max-height:calc(100dvh - max(16px, env(safe-area-inset-top,0px)) - max(16px, env(safe-area-inset-bottom,0px)));color:inherit;overscroll-behavior:contain;background:#fff;border:0;padding:1rem}.article-image-dialog::backdrop{background:#141b20bf}.article-image-dialog img{width:auto;max-height:calc(100dvh - 140px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));object-fit:contain;display:block}.article-image-dialog button{margin:0 0 .75rem auto;display:block}.utility-dialog{width:min(var(--dialog-width,36rem), calc(100vw - max(16px, env(safe-area-inset-left,0px)) - max(16px, env(safe-area-inset-right,0px))));max-height:calc(100dvh - max(24px, env(safe-area-inset-top,0px)) - max(24px, env(safe-area-inset-bottom,0px)));border:1px solid var(--reading-rule);color:inherit;overscroll-behavior:contain;background:#fff;border-radius:6px;margin:auto;padding:0;overflow:hidden}.utility-dialog[open]{flex-direction:column;display:flex}.utility-dialog::backdrop{background:#1c23294d}.utility-dialog__header{border-bottom:1px solid var(--reading-rule);flex-shrink:0;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1.25rem;display:flex}.utility-dialog__header h2{margin:0;font-family:inherit;font-size:1rem;font-weight:500}.utility-dialog__header form{margin:0}.contents-dialog__links{overscroll-behavior:contain;padding:1rem 1.5rem 1.5rem;overflow-y:auto}.contents-dialog__links ul{margin:0;padding:0;list-style:none}.contents-dialog__links li+li{margin-top:.25rem}.contents-dialog__links a{min-height:44px;color:inherit;padding-block:.6rem;font-size:.9375rem;line-height:1.7;text-decoration:none;display:block}.contents-dialog__links a[aria-current]{color:var(--reading-link);text-decoration:underline}.reading-toolbar{z-index:30;padding-top:env(safe-area-inset-top,0px);border-bottom:1px solid var(--reading-rule);background:#fff;position:fixed;inset:0 0 auto}.reading-toolbar__inner{max-width:748px;min-height:54px;padding-inline:max(20px, env(safe-area-inset-left,0px)) max(20px, env(safe-area-inset-right,0px));align-items:center;gap:1.25rem;margin-inline:auto;display:flex}.reading-toolbar a,.reading-toolbar button{color:#47545e;font-size:.875rem;text-decoration:none}.reading-toolbar__back,.reading-toolbar__contents{flex-shrink:0;justify-content:center;align-items:center;gap:.35rem;min-width:44px;min-height:44px;display:inline-flex}.reading-toolbar__contents{cursor:pointer;background:0 0;border:0;padding:0}.reading-toolbar__title{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;min-height:44px;line-height:44px;display:block;overflow:hidden}.reading-progress{appearance:none;width:100%;height:2px;color:var(--reading-link);background:0 0;border:0;display:block}.reading-progress::-webkit-progress-bar{background:0 0}.reading-progress::-webkit-progress-value{background:var(--reading-link)}.reading-progress::-moz-progress-bar{background:var(--reading-link)}.not-found{padding-block:clamp(2rem,8vh,5rem)}.not-found h1{font-size:2.5rem;font-weight:500}.empty-page-links{flex-wrap:wrap;gap:0 1.5rem;display:flex}.empty-page-links a{align-items:center;min-height:44px;display:inline-flex}@media (hover:hover) and (pointer:fine){a:hover,.text-button:hover{text-decoration-thickness:2px}.site-nav a:hover,.site-footer a:hover,.site-footer .text-button:hover,.post-index a:hover,.resource-list :is(h2,h3) a:hover,.post-navigation a:hover,.contents-dialog__links a:hover,.reading-toolbar a:hover{color:var(--reading-link);text-decoration:underline 1px}}@media (width<=760px){.site-header{flex-direction:column;align-items:flex-start;gap:.3rem;margin-bottom:2.75rem}.site-nav{gap:0 1.25rem}}@media (pointer:coarse){:root{scrollbar-gutter:auto}}@media (width<=600px){.reading-shell{padding-top:max(24px, env(safe-area-inset-top,0px));padding-left:max(clamp(20px, 5.5vw, 28px), env(safe-area-inset-left,0px));padding-right:max(clamp(20px, 5.5vw, 28px), env(safe-area-inset-right,0px));padding-bottom:max(24px, calc(env(safe-area-inset-bottom,0px) + 16px))}.site-header{margin-bottom:2.5rem}.site-nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 .4rem;width:100%;display:grid}.site-nav a{width:fit-content}.site-name{font-size:1.3125rem}h1{font-size:1.5rem}h2{margin-top:2.5rem;font-size:1.3rem}ul,ol{padding-left:1.25em}.home-intro h1{font-size:1.5rem}.home-intro+section h2{margin-top:2.75rem}.post-index li{padding-block:.55rem;display:block}.post-index time{margin-bottom:.2rem;display:block}.post-index a{min-height:44px;display:block}.year-nav{gap:0 .85rem;margin-block:.5rem 1.5rem}.year-group h2{margin-top:2rem;font-size:1.5rem}.profile-details{display:block}.profile-details dt{margin-bottom:.2rem}.profile-details dd{margin-bottom:1rem}.site-footer{margin-top:3rem;display:block}.site-footer nav{column-gap:1rem}.article-header h1{font-size:1.65rem}.article-cover img{max-height:220px}.article-toc{margin-block:1.75rem 2.25rem}.reading-prose{line-height:1.95}.reading-prose h2{font-size:1.375rem}.reading-prose :is(th,td){overflow-wrap:normal;min-width:7.25rem;padding:.55rem .65rem}.post-navigation{grid-template-columns:1fr;gap:1.5rem}.reading-toolbar__inner{min-height:50px;padding-inline:max(16px, env(safe-area-inset-left,0px)) max(16px, env(safe-area-inset-right,0px));gap:.75rem}.reading-toolbar__back span{display:none}.reading-toolbar__title{font-size:.875rem}.utility-dialog__header{padding-inline:1rem}.contents-dialog__links{padding:.75rem 1.25rem 1.25rem}}@media (height<=500px) and (orientation:landscape) and (pointer:coarse){.reading-shell{padding-top:max(16px, env(safe-area-inset-top,0px))}.site-header{flex-flow:wrap;align-items:center;gap:.25rem 1.5rem;margin-bottom:2rem}.site-nav{margin-top:0}}.privacy-dialog[data-astro-cid-wzbxcjbn]{--dialog-width:28rem}.privacy-form[data-astro-cid-wzbxcjbn]{padding:1.5rem;overflow-y:auto}.privacy-form[data-astro-cid-wzbxcjbn]>p[data-astro-cid-wzbxcjbn]{margin-bottom:1rem;font-size:.9375rem;line-height:1.85}.privacy-choice[data-astro-cid-wzbxcjbn]{cursor:pointer;align-items:center;gap:.75rem;min-height:44px;margin-block:1.25rem;display:flex}.privacy-choice[data-astro-cid-wzbxcjbn] input[data-astro-cid-wzbxcjbn]{width:18px;height:18px;accent-color:var(--reading-link);margin:0}.privacy-form[data-astro-cid-wzbxcjbn] .privacy-note[data-astro-cid-wzbxcjbn]{color:var(--reading-muted);font-size:.8125rem}.privacy-actions[data-astro-cid-wzbxcjbn]{align-items:center;gap:1.5rem;margin-top:1.5rem;display:flex}.quiet-button[data-astro-cid-wzbxcjbn]{min-height:44px;color:var(--reading-link);cursor:pointer;background:#fff;border:1px solid #b4bfc6;border-radius:4px;padding:.5rem 1rem}@media (width<=600px){.privacy-form[data-astro-cid-wzbxcjbn]{padding:1.25rem}}
