:root{--base-bg:#ffffff;--text-color:#1f2937;--title-underline:#0e7c86;--inline-block-color:#e9e9ec;--code-block-color:#e9e9e9;--code-block-line:#cacaca;--blockquote-line:#b0b0b0;--blockquote-text:#545454;--blockquote-bg:#f8f8f8;--link-color:var(--title-underline);--table-header-bg:#f0f9fa;--table-border:#e5e7eb}html{scroll-padding-top:6rem}body{margin:0;background-color:var(--base-bg);color:var(--text-color);font-family:noto sans jp,hiragino sans,hiragino kaku gothic pron,yu gothic,Meiryo,sans-serif;display:flex;flex-direction:column;min-height:100vh;overflow-wrap:anywhere;word-break:normal;line-break:strict}a,li,span,time{line-height:2.1}:not(.alert-heading)>p{line-height:1.8}h1{font-size:2rem;margin:.5rem 0;padding-bottom:.6rem;font-weight:600;border-bottom:1.3px solid var(--title-underline)}h2{font-size:1.5rem;margin:2.5rem 0 .65rem}h3{margin:2rem 0 .8rem;font-size:1.34rem}h2,h3{font-weight:500}h4,h5,h6{margin:1.3rem 0;font-weight:500}h4{font-size:1.23rem}h5{font-size:1.1rem}h6{font-size:1.05rem}blockquote{border-left:3px solid var(--blockquote-line);margin-left:0;padding:.2rem 1.5rem;background-color:var(--blockquote-bg)}blockquote p{color:var(--blockquote-text)}table{border-collapse:collapse;border:1px solid var(--table-border);overflow-x:auto}th,td{padding:.5rem}th{background-color:var(--table-header-bg);border:1px solid var(--table-border);font-weight:600}td{border:1px solid var(--table-border)}a{color:var(--link-color)}.open-in-new{background-color:var(--link-color);width:.8rem;height:.8rem;display:inline-block;-webkit-mask-image:url(/icons/ui/open-in-new.svg);mask-image:url(/icons/ui/open-in-new.svg);mask-size:contain;mask-repeat:no-repeat}ul,ol{padding-left:1.5rem}:not(pre)>code,pre{border-radius:5px}:not(pre)>code{background-color:var(--inline-block-color);padding:6px}pre{background-color:var(--code-block-color);border:1px solid var(--code-block-line);border-radius:8px;padding:1rem;overflow-x:auto;max-width:100%}img{margin:1rem 0;max-width:100%;height:auto}@media(max-width:735px){html{scroll-padding-top:0}}:root{--header-bg:#f0f9fa;--footer-bg:#e5e7eb;--svg-color:#000000;--meta-text:#6b7280;--mobile-nav-header-height:calc(70px + env(safe-area-inset-bottom))}body>footer{background-color:var(--footer-bg)}.header-container,main,.footer-container{margin:0 auto;box-sizing:border-box}.header-container,.footer-container{max-width:1020px;padding:.5rem 1.5rem}body>header,.header-container{height:5rem}body>header{position:sticky;top:0;left:0;width:100%;z-index:3;background-color:var(--header-bg)}.header-container{display:flex;justify-content:space-between;align-items:center}.site-title{color:inherit;text-decoration:none;font-size:1.8rem;margin:0}main{width:1020px;max-width:100%;padding:1.5rem;box-sizing:border-box;flex:1}.main-content{grid-row:1;min-width:0;overflow:hidden}.meta{text-align:right;font-size:.9rem;color:var(--meta-text)}.article-layout{display:grid;grid-template-columns:minmax(0,900px)300px;align-self:start}.article-layout:not(:has(>.toc-desktop)){grid-template-columns:1fr}.footer-container{display:grid;grid-template-columns:repeat(3,1fr)}.copyright{grid-column:1}.social-media-logo{grid-column:3;justify-self:end;align-items:center;display:flex;gap:1rem;margin-top:.5rem}a.logo-link{text-decoration:none}.svg-icon{background-color:var(--svg-color);display:inline-block;--webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.misskey{width:3rem;height:3rem;transform:translateY(.1rem);-webkit-mask-image:url(/icons/global/misskey.svg);mask-image:url(/icons/global/misskey.svg);background-color:#000}.github{width:2.5rem;height:auto;aspect-ratio:98/96;-webkit-mask-image:url(/icons/global/github-mark.png);mask-image:url(/icons/global/github-mark.png)}@media(max-width:735px){header{position:static;border-bottom:none}main{margin-top:0}.highlight{width:calc(100vw - 3rem);overflow-x:auto;box-sizing:border-box}footer{margin-bottom:var(--mobile-nav-header-height)}.footer-container{display:flex;flex-direction:column;align-items:center}.copyright{margin:.2rem 0}.misskey{transform:translateY(.06rem);width:2.5rem;height:2.5rem}.github{width:2rem}}:root{--nav-hover:#cde4e6;--mobile-nav-bg:#f0f9fa;--mobile-nav-boder:rgba(0, 0, 0, .15);--svg-color:black;--svg-active:#0a5e66;--header-active-hover:var(--svg-active)}.svg-icon{background-color:var(--svg-color);display:inline-block;--webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.site-menu .svg-icon{width:1.5rem;height:1.5rem}.home{-webkit-mask-image:url(/icons/global/home.svg);mask-image:url(/icons/global/home.svg)}a[aria-current=page] .svg-icon{background-color:var(--svg-active)}a[aria-current=page] .home{-webkit-mask-image:url(/icons/global/home-fill.svg);mask-image:url(/icons/global/home-fill.svg)}.about{-webkit-mask-image:url(/icons/global/about.svg);mask-image:url(/icons/global/about.svg)}a[aria-current=page] .about{-webkit-mask-image:url(/icons/global/about-fill.svg);mask-image:url(/icons/global/about-fill.svg)}.posts{-webkit-mask-image:url(/icons/global/posts.svg);mask-image:url(/icons/global/posts.svg)}a[aria-current=page] .posts{-webkit-mask-image:url(/icons/global/posts-fill.svg);mask-image:url(/icons/global/posts-fill.svg)}.tags{-webkit-mask-image:url(/icons/global/tags.svg);mask-image:url(/icons/global/tags.svg)}a[aria-current=page] .tags{-webkit-mask-image:url(/icons/global/tags-fill.svg);mask-image:url(/icons/global/tags-fill.svg)}.site-menu>ul{display:flex;justify-content:space-between;align-items:flex-end;gap:.5rem}.site-menu>ul li{list-style:none}.site-menu>ul li a{color:inherit;text-decoration:none;display:inline-flex;align-items:center;flex-wrap:wrap;padding:0 .5rem;gap:3px}.site-menu>ul li:hover{background-color:var(--nav-hover);border-radius:5px}.site-menu>ul li:hover .nav-title{font-weight:600}.site-menu>ul li a[aria-current=page]::after{background-color:var(--header-active-hover);content:"";height:2.5px;width:100%;transform-origin:left top}@media(max-width:735px){.site-menu,.site-menu>ul{padding-left:0}.site-menu{background-color:var(--mobile-nav-bg);border-top:2px solid var(--mobile-nav-boder);position:fixed;bottom:0;left:0;width:100svw;box-sizing:border-box;height:70px;padding-bottom:env(safe-area-inset-bottom);display:grid;place-content:center}.site-menu>ul{width:100svw;display:grid;grid-template-columns:repeat(4,1fr);padding:0;margin:0}.site-menu li{flex:1}.site-menu>ul li a{display:grid;place-items:center;gap:0;padding:.25rem;height:60px;text-align:center;position:relative}.site-menu>ul li a:active{background-color:color-mix(in srgb,var(--header-active-hover) 20%,white)}.site-menu>ul li a .svg-icon{width:2.2rem;height:2.2rem}.nav-title{font-size:.75rem;letter-spacing:-.02rem}.tags{transform:translate(-1px,1px)}.site-menu>ul li a[aria-current=page]::after{width:55px}.site-menu>ul li a[aria-current=page] .nav-title{font-weight:600}}:root{--mobile-toc-bg:#f4f8f9;--mobile-toc-text:#095d66;--tag-color:#075a63;--tag-hover-bg-color:#095057;--tag-hover-text:#ffffff;--alert-note-bg:#f0f9fa;--alert-note-text:#095d66;--alert-tip-bg:#f0fdf4;--alert-tip-text:#0d632d;--alert-important-bg:#f5f3ff;--alert-important-text:#632ebf;--alert-warning-bg:#fef9e0;--alert-warning-text:#7d4404;--alert-caution-bg:#fff1f2;--alert-caution-text:#a11533}.toc{padding:.3em 1em}.toc>details>summary{font-size:1.3rem;padding:.4rem .6rem}.toc a{text-decoration:none}.toc ul{list-style:none}.toc li{line-height:2.1}.toc ul ul{padding-left:1.5rem}details>ul{padding-left:0}.tag-area{list-style:none;margin:.4rem 0;padding:0;display:flex;column-gap:.3rem;flex-wrap:wrap}.tag-area a{color:var(--tag-color);border:1px solid var(--tag-color);background:0 0;padding:.1em .5em;border-radius:4px;text-decoration:none;white-space:nowrap}.tag-area a:hover{background:var(--tag-hover-bg-color);color:var(--tag-hover-text)}.alert-note,.alert-tip,.alert-important,.alert-warning,.alert-caution{padding:.5rem 1rem;margin:1.5rem 0;line-height:1;border-radius:10px}.alert-note>.alert-heading,.alert-tip>.alert-heading,.alert-important>.alert-heading,.alert-warning>.alert-heading,.alert-caution>.alert-heading{font-size:1.2rem;margin-bottom:.25rem}.alert-note p,.alert-tip p,.alert-important p,.alert-warning p,.alert-caution p{margin:.5rem 0}.alert-heading{display:flex;align-items:center;gap:.5rem}.alert-heading>span{display:inline-block;width:1.8rem;height:1.8rem;mask-repeat:no-repeat;mask-size:contain}.alert-note{background-color:var(--alert-note-bg)}.alert-note .alert-heading{color:var(--alert-note-text)}.alert-note-icon{transform:translateY(.15rem);-webkit-mask-image:url(/icons/ui/note-icon.svg);mask-image:url(/icons/ui/note-icon.svg);background-color:var(--alert-note-text)}.alert-tip{background-color:var(--alert-tip-bg)}.alert-tip .alert-heading{color:var(--alert-tip-text)}.alert-tip-icon{transform:translateY(.05rem);-webkit-mask-image:url(/icons/ui/tip-icon.svg);mask-image:url(/icons/ui/tip-icon.svg);background-color:var(--alert-tip-text)}.alert-important{background-color:var(--alert-important-bg)}.alert-important .alert-heading{color:var(--alert-important-text)}.alert-important-icon{transform:translateY(.1rem);-webkit-mask-image:url(/icons/ui/important-icon.svg);mask-image:url(/icons/ui/important-icon.svg);background-color:var(--alert-important-text)}.alert-warning{background-color:var(--alert-warning-bg)}.alert-warning .alert-heading{color:var(--alert-warning-text)}.alert-warning-icon{transform:translateY(.05rem);-webkit-mask-image:url(/icons/ui/warning-icon.svg);mask-image:url(/icons/ui/warning-icon.svg);background-color:var(--alert-warning-text)}.alert-caution{background-color:var(--alert-caution-bg)}.alert-caution .alert-heading{color:var(--alert-caution-text)}.alert-caution-icon{transform:translateY(.05rem);-webkit-mask-image:url(/icons/ui/caution-icon.svg);mask-image:url(/icons/ui/caution-icon.svg);background-color:var(--alert-caution-text)}@media(min-width:1024px){.toc-desktop{font-size:.9rem;grid-column:2;position:sticky;align-self:start;top:5rem;overflow-y:auto}.toc-mobile{display:none}}@media(max-width:1023px){.toc{background:var(--mobile-toc-bg);margin:1.2rem 0;border-radius:10px}.toc-mobile a{color:var(--mobile-toc-text)}.toc-desktop{display:none}.article-layout{display:block}}@media(prefers-color-scheme:dark){:root{--base-bg:#1a1b1e;--text-color:#c8cad0;--title-underline:#56bbC4;--inline-block-color:#2e3035;--code-block-color:#2a2b30;--code-block-line:#3e4047;--blockquote-bg:#303238;--blockquote-text:#c2c2c2;--blockquote-line:#555555;--table-header-bg:#1e6d75;--header-bg:#1f2f31;--footer-bg:#1e1f22;--svg-color:#ffffff;--meta-text:#9fa6b3;--nav-hover:rgba(95, 199, 207, 0.1);--mobile-nav-bg:#22252a;--mobile-nav-boder:rgba(255, 255, 255, 0.13);--mobile-toc-text:#58bec7;--svg-color:white;--svg-active:#60cad1;--header-active-hover:var(--svg-active);--mobile-toc-bg:#232428;--tag-color:#5cb2bb;--tag-hover-bg-color:#5cbfc9;--tag-hover-text:#1a1b1e;--alert-note-bg:#0d2f32;--alert-note-text:#5fc7cf;--alert-tip-bg:#0d2a1a;--alert-tip-text:#54c48c;--alert-important-bg:#1e1535;--alert-important-text:#c0aafc;--alert-warning-bg:#2a2010;--alert-warning-text:#e0a050;--alert-caution-bg:#2a1018;--alert-caution-text:#ff789a}h1,h2,h3,h4,h5,h6{color:#a8aab0}blockquote a{color:#a1c3f0}th{color:#dfe0e8}summary{color:#e8eaed}.alert{border:1px solid rgba(255,255,255,.1)}}