.ToggleThemeButton-module__a0_rRa__hidden{visibility:hidden}
@media (max-width:1360px){.GitHubShareButton-module__tqBlbq__githubCorner{display:none}}.GitHubShareButton-module__tqBlbq__githubCorner:hover .GitHubShareButton-module__tqBlbq__octoArm{animation:.56s ease-in-out GitHubShareButton-module__tqBlbq__octocat-wave}@keyframes GitHubShareButton-module__tqBlbq__octocat-wave{0%,to{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}@media (max-width:500px){.GitHubShareButton-module__tqBlbq__githubCorner:hover .GitHubShareButton-module__tqBlbq__octoArm{animation:none}.GitHubShareButton-module__tqBlbq__githubCorner .GitHubShareButton-module__tqBlbq__octoArm{animation:.56s ease-in-out GitHubShareButton-module__tqBlbq__octocat-wave}}
.TableOfContents-module__0c1fjW__toc{z-index:10;scrollbar-width:none;width:220px;max-height:calc(100vh - 54px - 4rem);padding:0;position:fixed;top:calc(54px + 2rem);right:2rem;overflow-y:auto}.TableOfContents-module__0c1fjW__toc::-webkit-scrollbar{display:none}.TableOfContents-module__0c1fjW__title{letter-spacing:.1em;color:var(--fg-color-3,#999);margin-bottom:.75rem;font-size:.65rem;font-weight:700}.TableOfContents-module__0c1fjW__list{border-left:1px solid var(--fg-color-5,#0000000f);margin:0;padding:0;list-style:none}.TableOfContents-module__0c1fjW__item{margin:0}.TableOfContents-module__0c1fjW__link{color:var(--fg-color-3,#999);cursor:pointer;word-break:keep-all;overflow-wrap:break-word;border-left:2px solid #0000;margin-left:-1px;padding:.3rem 0 .3rem 1rem;font-size:.78rem;line-height:1.5;text-decoration:none;transition:color .2s,border-color .2s;display:block}.TableOfContents-module__0c1fjW__link:hover{color:var(--fg-color-1,#555)}.TableOfContents-module__0c1fjW__active{color:#2563eb;border-left-color:#2563eb}.dark-mode .TableOfContents-module__0c1fjW__active{color:#60a5fa;border-left-color:#60a5fa}.TableOfContents-module__0c1fjW__indent1{padding-left:1.75rem;font-size:.74rem}.TableOfContents-module__0c1fjW__indent2{padding-left:2.5rem;font-size:.72rem}@media only screen and (max-width:1200px){.TableOfContents-module__0c1fjW__toc{display:none}}.TableOfContents-module__0c1fjW__fab,.TableOfContents-module__0c1fjW__drawer,.TableOfContents-module__0c1fjW__overlay{display:none}@media only screen and (max-width:768px){.TableOfContents-module__0c1fjW__fab{background:var(--bg-color,#fff);width:44px;height:44px;color:var(--fg-color-1,#555);border:1px solid var(--fg-color-5,#00000014);cursor:pointer;z-index:100;border-radius:12px;justify-content:center;align-items:center;transition:transform .15s,box-shadow .15s;display:flex;position:fixed;bottom:1.25rem;right:1.25rem;box-shadow:0 1px 3px #00000014,0 4px 12px #0000000f}.TableOfContents-module__0c1fjW__fab:active{transform:scale(.94);box-shadow:0 1px 2px #0000001a}.TableOfContents-module__0c1fjW__overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:200;opacity:0;pointer-events:none;background:#0000004d;transition:opacity .25s;display:block;position:fixed;inset:0}.TableOfContents-module__0c1fjW__overlayVisible{opacity:1;pointer-events:auto}.TableOfContents-module__0c1fjW__drawer{background:var(--bg-color,#fff);z-index:201;max-height:55vh;padding:0 0 env(safe-area-inset-bottom,.5rem);border-top-left-radius:20px;border-top-right-radius:20px;flex-direction:column;transition:transform .3s cubic-bezier(.32,.72,0,1);display:flex;position:fixed;bottom:0;left:0;right:0;transform:translateY(100%);box-shadow:0 -2px 20px #0000001a}.TableOfContents-module__0c1fjW__drawerOpen{transform:translateY(0)}.TableOfContents-module__0c1fjW__drawerHeader{justify-content:space-between;align-items:center;padding:1.25rem 1.25rem .75rem;display:flex}.TableOfContents-module__0c1fjW__drawerHeader:before{content:"";background:var(--fg-color-5,#0000001a);border-radius:2px;width:36px;height:4px;position:absolute;top:.5rem;left:50%;transform:translate(-50%)}.TableOfContents-module__0c1fjW__drawerTitle{letter-spacing:.1em;color:var(--fg-color-3,#999);font-size:.7rem;font-weight:700}.TableOfContents-module__0c1fjW__drawerClose{background:var(--fg-color-6,#0000000a);width:44px;height:44px;color:var(--fg-color-2,#666);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;transition:background .15s;display:flex}.TableOfContents-module__0c1fjW__drawerClose:active{background:var(--fg-color-5,#00000014)}.TableOfContents-module__0c1fjW__drawerList{-webkit-overflow-scrolling:touch;border-left:1px solid var(--fg-color-5,#0000000f);margin:0 0 0 1.25rem;padding:.25rem 1rem .75rem;list-style:none;overflow-y:auto}.TableOfContents-module__0c1fjW__drawerLink{color:var(--fg-color-3,#999);cursor:pointer;border-left:2px solid #0000;margin-left:-1px;padding:.5rem 0 .5rem 1rem;font-size:.85rem;line-height:1.5;text-decoration:none;transition:color .15s,border-color .15s;display:block}.TableOfContents-module__0c1fjW__drawerLink:active{color:var(--fg-color-0,#333)}.TableOfContents-module__0c1fjW__drawerActive{color:#2563eb;border-left-color:#2563eb}.dark-mode .TableOfContents-module__0c1fjW__drawerActive{color:#60a5fa;border-left-color:#60a5fa}.TableOfContents-module__0c1fjW__drawerIndent1{padding-left:1.75rem;font-size:.82rem}.TableOfContents-module__0c1fjW__drawerIndent2{padding-left:2.5rem;font-size:.8rem}}
.Page404-module__BBONlW__container{color:#37352f;caret-color:#37352f;background-color:var(--bg-color);justify-content:center;align-items:center;padding:2vmin;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Apple Color Emoji,Arial,sans-serif,Segoe UI Emoji,Segoe UI Symbol;font-size:16px;line-height:1.5;display:flex;position:absolute;inset:0}.Page404-module__BBONlW__main{flex-direction:column;justify-content:center;align-items:center;display:flex}.Page404-module__BBONlW__errorImage{width:640px;max-width:100%}
.ErrorPage-module__d1B99G__container{color:#37352f;caret-color:#37352f;background-color:var(--bg-color);justify-content:center;align-items:center;padding:2vmin;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Apple Color Emoji,Arial,sans-serif,Segoe UI Emoji,Segoe UI Symbol;font-size:16px;line-height:1.5;display:flex;position:absolute;inset:0}.ErrorPage-module__d1B99G__main{flex-direction:column;justify-content:center;align-items:center;display:flex}.ErrorPage-module__d1B99G__errorImage{width:640px;max-width:100%}
.SiteHeader-module__xhZBkq__navLink{align-items:center;gap:6px;font-size:14px;font-weight:500;display:inline-flex}.SiteHeader-module__xhZBkq__navLogo{width:24px;height:24px}.SiteHeader-module__xhZBkq__hamburger{cursor:pointer;color:var(--fg-color,inherit);background:0 0;border:none;border-radius:4px;padding:4px;display:none}.SiteHeader-module__xhZBkq__hamburger:hover{background:var(--fg-color-0,#0000000a)}@media only screen and (max-width:768px){.SiteHeader-module__xhZBkq__hamburger{justify-content:center;align-items:center;display:inline-flex}}
.HomeLayout-module__Ss754a__main{max-width:1100px;margin:0 auto;padding:0 24px}.HomeLayout-module__Ss754a__sidebarMobile{display:none}.HomeLayout-module__Ss754a__overlay{z-index:999;background:#0006;position:fixed;inset:0}@media only screen and (max-width:768px){.HomeLayout-module__Ss754a__main{padding:0 16px}.HomeLayout-module__Ss754a__sidebarMobile{display:block}}
.SidebarLayout-module__SQYNHW__container{min-height:calc(100vh - 54px);display:flex}.SidebarLayout-module__SQYNHW__main{flex:1;min-width:0;padding:0}.SidebarLayout-module__SQYNHW__overlay{display:none}@media only screen and (max-width:768px){.SidebarLayout-module__SQYNHW__overlay{z-index:999;background:#0006;display:block;position:fixed;inset:0}}
.Footer-module__MPE0dq__footer{flex-direction:row;justify-content:space-between;align-items:center;width:100%;max-width:1100px;margin:auto auto 0;padding:8px;display:flex}.Footer-module__MPE0dq__copyright{padding:.5em;font-size:80%}.Footer-module__MPE0dq__settings,.Footer-module__MPE0dq__social{-webkit-user-select:none;user-select:none}.Footer-module__MPE0dq__social,.Footer-module__MPE0dq__settings{flex-direction:row;align-items:center;gap:.25em;display:flex}.Footer-module__MPE0dq__settings a,.Footer-module__MPE0dq__social a{cursor:pointer;padding:.25em;font-size:2em;transition:color .25s ease-out;display:inline-flex}.Footer-module__MPE0dq__settings a:hover,.Footer-module__MPE0dq__social a:hover{transition:color 50ms ease-out}.Footer-module__MPE0dq__toggleDarkMode:hover,.Footer-module__MPE0dq__twitter:hover{color:#2795e9}.Footer-module__MPE0dq__mastodon:hover{color:#5a4be1}.Footer-module__MPE0dq__zhihu:hover{color:#06f}.Footer-module__MPE0dq__github:hover{color:#c9510c}.Footer-module__MPE0dq__youtube:hover{color:red}.Footer-module__MPE0dq__linkedin:hover{color:#0077b5}.Footer-module__MPE0dq__newsletter:hover{color:#777}@media only screen and (max-width:566px){.Footer-module__MPE0dq__footer{flex-direction:column}.Footer-module__MPE0dq__footer>div{margin-top:1em}.Footer-module__MPE0dq__footer .Footer-module__MPE0dq__settings{order:1}.Footer-module__MPE0dq__footer .Footer-module__MPE0dq__social{order:2}.Footer-module__MPE0dq__footer .Footer-module__MPE0dq__copyright{order:3}}
.NotionPageHeader-module__PehsWa__navLink{align-items:center;gap:6px;font-size:14px;font-weight:500;display:inline-flex}.NotionPageHeader-module__PehsWa__navLogo{width:24px;height:24px}
.PageActions-module__sBkugq__pageActions{flex-direction:row;justify-content:center;padding:6px 12px 12px;display:flex}.PageActions-module__sBkugq__pageActions a{cursor:pointer;background:0 0;border-radius:50%;margin-right:1vw;padding:12px;font-size:24px;transition:all .25s ease-out;display:inline-flex}.PageActions-module__sBkugq__pageActions a:last-of-type{margin-right:0}.PageActions-module__sBkugq__pageActions a:hover{transition:all 50ms ease-out}.PageActions-module__sBkugq__likeTweet:hover{color:#e0265e;background:#f6e3e8}.PageActions-module__sBkugq__retweet:hover{color:#19bf64;background:#e5f2e8}
.PageSocial-module__iNM2sa__pageSocial{text-align:center;color:var(--fg-color);flex-direction:column;align-items:center;display:flex}.PageSocial-module__iNM2sa__action{border:2px solid var(--fg-color-6);-webkit-user-select:none;user-select:none;cursor:pointer;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:3.5em;height:3.5em;margin:0 0 1em;transition:all .3s ease-out;display:flex;position:relative;text-decoration:none!important}.PageSocial-module__iNM2sa__action:last-child{margin-bottom:0}.PageSocial-module__iNM2sa__actionBg{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.PageSocial-module__iNM2sa__actionBg svg{width:50%;height:50%;fill:var(--fg-color-6)}.PageSocial-module__iNM2sa__actionBgPane{border-radius:50%;width:0;height:0;transition:all .3s ease-out}.PageSocial-module__iNM2sa__action:hover{transition:all .1s ease-out}.PageSocial-module__iNM2sa__action:hover .PageSocial-module__iNM2sa__actionBgPane{width:100%;height:100%;transition:all .1s ease-out}.PageSocial-module__iNM2sa__action:hover svg{fill:var(--bg-color);transition:fill .1s ease-out}.dark-mode .PageSocial-module__iNM2sa__action:hover svg{fill:var(--fg-color)}.PageSocial-module__iNM2sa__facebook .PageSocial-module__iNM2sa__actionBgPane{background:#3b5998}.PageSocial-module__iNM2sa__facebook:hover{border-color:#3b5998}.PageSocial-module__iNM2sa__twitter .PageSocial-module__iNM2sa__actionBgPane{background:#2795e9}.PageSocial-module__iNM2sa__twitter:hover{border-color:#2795e9}.PageSocial-module__iNM2sa__linkedin .PageSocial-module__iNM2sa__actionBgPane{background:#0077b5}.PageSocial-module__iNM2sa__linkedin:hover{border-color:#0077b5}.PageSocial-module__iNM2sa__github .PageSocial-module__iNM2sa__actionBgPane{background:#c9510c}.PageSocial-module__iNM2sa__github:hover{border-color:#c9510c}.PageSocial-module__iNM2sa__youtube .PageSocial-module__iNM2sa__actionBgPane{background:red}.PageSocial-module__iNM2sa__youtube:hover{border-color:red}.PageSocial-module__iNM2sa__medium .PageSocial-module__iNM2sa__actionBgPane{background:#00ab6c}.PageSocial-module__iNM2sa__medium:hover{border-color:#00ab6c}.PageSocial-module__iNM2sa__newsletter .PageSocial-module__iNM2sa__actionBgPane{background:#777}.PageSocial-module__iNM2sa__newsletter:hover{border-color:#777}.PageSocial-module__iNM2sa__email .PageSocial-module__iNM2sa__actionBgPane{background:#777}.PageSocial-module__iNM2sa__email:hover{border-color:#777}@media only screen and (max-width:768px){.PageSocial-module__iNM2sa__links{flex-wrap:wrap;position:relative;left:.5em}.PageSocial-module__iNM2sa__action:last-child{margin-right:1em}}
.NotionPage-module__MgmkPW__notion{overflow:visible}
@keyframes LoadingIcon-module__mv7OBa__spinner{to{transform:rotate(360deg)}}.LoadingIcon-module__mv7OBa__loadingIcon{color:#37352f66;width:24px;height:24px;animation:.6s linear infinite LoadingIcon-module__mv7OBa__spinner;display:block}
.Loading-module__SG9Rcq__container{color:#37352f;caret-color:#37352f;background-color:var(--bg-color);justify-content:center;align-items:center;padding:2vmin;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Apple Color Emoji,Arial,sans-serif,Segoe UI Emoji,Segoe UI Symbol;font-size:16px;line-height:1.5;display:flex;position:absolute;inset:0}
.RouteProgress-module___GHnUa__bar{background:var(--accent-color,#0070f3);z-index:9999;pointer-events:none;height:3px;transition:width .2s;position:fixed;top:0;left:0}.RouteProgress-module___GHnUa__bar[data-state=loading]{width:0%;animation:8s cubic-bezier(.2,.5,.3,1) forwards RouteProgress-module___GHnUa__trickle}.RouteProgress-module___GHnUa__bar[data-state=complete]{width:100%;transition:width .15s;animation:.4s .2s forwards RouteProgress-module___GHnUa__fadeOut}@keyframes RouteProgress-module___GHnUa__trickle{0%{width:0%}10%{width:15%}30%{width:40%}60%{width:65%}80%{width:80%}to{width:90%}}@keyframes RouteProgress-module___GHnUa__fadeOut{to{opacity:0}}
.Skeleton-module__YMdg7q__container{max-width:720px;margin:0 auto;padding:80px 24px 40px}.Skeleton-module__YMdg7q__bone{background:linear-gradient(90deg,var(--skeleton-base,#0000000f)25%,var(--skeleton-shine,#0000001a)50%,var(--skeleton-base,#0000000f)75%);background-size:200% 100%;border-radius:4px;animation:1.5s infinite Skeleton-module__YMdg7q__shimmer}.Skeleton-module__YMdg7q__dark-mode .Skeleton-module__YMdg7q__bone{--skeleton-base:#ffffff0f;--skeleton-shine:#ffffff1a}.Skeleton-module__YMdg7q__title{width:70%;height:36px;margin-bottom:16px}.Skeleton-module__YMdg7q__meta{width:30%;height:16px;margin-bottom:40px}.Skeleton-module__YMdg7q__line{height:14px;margin-bottom:14px}.Skeleton-module__YMdg7q__line:nth-child(3){width:100%}.Skeleton-module__YMdg7q__line:nth-child(4){width:95%}.Skeleton-module__YMdg7q__line:nth-child(5){width:88%}.Skeleton-module__YMdg7q__line:nth-child(6){width:100%}.Skeleton-module__YMdg7q__line:nth-child(7){width:92%}.Skeleton-module__YMdg7q__line:nth-child(8){width:75%}.Skeleton-module__YMdg7q__line:nth-child(9){width:98%}.Skeleton-module__YMdg7q__line:nth-child(10){width:60%}@keyframes Skeleton-module__YMdg7q__shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}
.index-module__xviQpq__header{padding:8px 0 24px}.index-module__xviQpq__title{margin:0 0 8px;font-size:1.6rem;font-weight:700}.index-module__xviQpq__subtitle{color:var(--fg-color-2,#666);margin:0;font-size:.95rem}.index-module__xviQpq__group{padding:0 0 28px}.index-module__xviQpq__groupTitle{align-items:baseline;gap:8px;margin:0 0 10px;font-size:1.05rem;font-weight:600;display:flex}.index-module__xviQpq__count{color:var(--fg-color-3,#999);font-size:.85rem;font-weight:400}.index-module__xviQpq__list{margin:0;padding:0;list-style:none}.index-module__xviQpq__item{padding:5px 0}.index-module__xviQpq__link{color:inherit;line-height:1.5;text-decoration:none}.index-module__xviQpq__link:hover{text-decoration:underline}.index-module__xviQpq__date{color:var(--fg-color-3,#999);white-space:nowrap;margin-left:8px;font-size:.8rem}
