:root{--color-gray-900:#0f1423;--color-gray-800:#212329;--color-gray-700:#3b4252;--color-gray-600:#4c566a;--color-gray-500:#5e81ac;--color-white-100:#e5e9f0;--color-white-200:#c8ced9;--color-white-300:#d8dee9;--color-accent-primary:#93c5fd;--color-accent-secondary:#60a5fa;--color-accent-tertiary:#5f83be;--bg-color:var(--color-gray-800);--bg-secondary:var(--color-gray-900);--text-color:var(--color-white-200);--text-bright:var(--color-white-100);--text-muted:var(--color-gray-500);--accent:var(--color-accent-primary);--link:var(--color-accent-primary);--link-hover:var(--color-accent-secondary);--radius-sm:4px;--radius-md:8px;--font-sans:"system-ui", "Arial", "Helvetica", "'Hiragino Sans'", "'Hiragino Kaku Gothic ProN'", "'Meiryo,sans-serif'", "sans-serif";--font-mono:"ui-monospace", "SFMono-Regular", "SF Mono", "Menlo", "Consolas", "Liberation Mono", "monospace";--font-size-base:18px;--font-size-sm:16px;--font-size-xs:14px;--line-height:1.7;--header-height:40px}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 1rem)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}*{scrollbar-width:thin;scrollbar-color:var(--color-gray-700) var(--bg-color)}body{font-family:var(--font-sans);text-align:left;background:var(--bg-color);word-wrap:break-word;overflow-wrap:break-word;color:var(--text-color);font-size:var(--font-size-base);line-height:var(--line-height);margin:0;padding:0;@media (width<=768px){font-size:var(--font-size-sm)}}main{width:1220px;max-width:calc(100% - 2em);padding:calc(var(--header-height) + 12px) 1em 2em;min-height:100vh;margin:auto}h1,h2,h3,h4,h5,h6{color:var(--text-bright);margin:.5rem 0;line-height:1.3}h1{letter-spacing:-.01em;font-size:1.75em}h2{font-size:1.4em}h3{font-size:1.15em}strong,b{color:var(--text-bright);font-weight:700}p{margin:.75em 0}a{color:var(--link);transition:color .15s;&:hover{color:var(--link-hover)}}h1>a,h2>a,h3>a,h4>a,h5>a,h6>a{color:inherit;text-decoration:none;&:hover{color:var(--accent)}}h2>a:before{content:"## ";color:var(--text-muted);font-weight:400}h3>a:before{content:"### ";color:var(--text-muted);font-weight:400}h4>a:before{content:"#### ";color:var(--text-muted);font-weight:400}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}textarea{width:100%;font-size:var(--font-size-sm);background-color:var(--bg-secondary);color:var(--text-color);border:1px solid var(--color-gray-600);border-radius:var(--radius-sm);padding:.5em;&:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 2px #93c5fd4d}}input{font-size:var(--font-size-sm)}table{border:2px solid var(--color-gray-700);border-collapse:collapse;word-break:normal;width:auto;margin:1.2rem 0;font-size:smaller;overflow-x:auto;& thead{& th{background-color:var(--color-gray-700);color:var(--text-bright);text-align:left;padding:.5em 1em}}& tbody{& tr{& td{padding:.75em 1em}&:not(:first-child){border-top:1px dashed var(--color-gray-700)}}}}img{border-radius:var(--radius-md);max-width:100%;height:auto}svg{fill:currentColor;vertical-align:middle}code{font-family:var(--font-mono);background-color:var(--color-gray-900);border-radius:var(--radius-sm);padding:2px 5px;font-size:95%}pre{border-radius:var(--radius-md);font-family:var(--font-mono);padding:1em;&:not(:only-child){border-top-left-radius:0;border-top-right-radius:0;margin-top:0}&>code{all:unset;white-space:pre;font-size:var(--font-size-sm);overflow-x:auto;&>span{counter-increment:line-number;margin-left:1em;padding-left:1em;line-height:0;display:list-item;&::marker{content:counter(line-number);color:var(--text-muted);font-size:.9em}}}}.remark-codeblock{font-family:var(--font-mono);background-color:var(--color-gray-900);border-top-left-radius:var(--radius-md);border-top-right-radius:var(--radius-md);font-size:var(--font-size-xs);color:var(--text-muted);justify-content:space-between;align-items:center;padding:.25em 1em;display:flex;& .remark-code-copy-button{background-color:var(--color-gray-700);color:var(--color-white-300);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-xs);border:none;padding:.25em .6em;transition:background-color .15s;&:hover{background-color:var(--color-gray-600)}&:active{transform:scale(.98)}}}.github-permalink-embed{border:1px solid var(--color-gray-700);border-radius:var(--radius-md);margin:1.4em 0;overflow:hidden}.github-permalink-embed-caption{background-color:var(--color-gray-900);font-size:var(--font-size-xs);font-family:var(--font-mono);flex-direction:column;align-items:flex-start;gap:.2em;padding:.35em .8em;display:flex;&>a{color:var(--color-white-300);word-break:break-all;text-decoration:none;&:hover{color:var(--text-bright);text-decoration:underline}}& .github-permalink-embed-meta{color:var(--text-muted);white-space:normal}}.github-permalink-embed-pre{max-height:calc(var(--line-height) * var(--font-size-sm) * 10 + 1em);border-radius:0;margin:0;overflow:auto}.github-permalink-embed-code{white-space:pre;min-width:max-content;font-size:var(--font-size-sm);display:block;& .github-permalink-embed-line{min-height:calc(var(--line-height) * 1em);line-height:var(--line-height);padding-left:3.5em;display:block;position:relative;&:before{content:attr(data-line);color:var(--text-muted);text-align:right;user-select:none;pointer-events:none;width:3em;position:absolute;left:0}}}blockquote{border-left:4px solid var(--color-accent-tertiary);font-size:var(--font-size-sm);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background-color:#3b82f60d;margin:1.5em 0;padding:.5em 1.25em;font-style:italic;&>p{margin:.4em 0}}hr{border:none;border-top:1px solid var(--color-gray-700);margin:1.5em 0}details{font-size:var(--font-size-sm);border:1px solid var(--color-gray-700);border-radius:var(--radius-sm);& summary{cursor:pointer;padding:.7em .7em .7em 1.5em}&[open] summary{background-color:var(--color-gray-700)}}.footnotes{font-size:var(--font-size-xs);border-top:var(--color-gray-700) 1px solid;color:var(--text-muted);margin-top:2em;padding-top:1em}.sr-only{clip:rect(1px, 1px, 1px, 1px);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:0;padding:0;position:absolute;overflow:hidden}footer[data-astro-cid-jo6i4kqk]{background:var(--bg-color);color:var(--text-color);text-align:center;border-top:2px solid var(--bg-secondary);padding:1em;font-size:smaller}#searchDialog[data-astro-cid-e66w4awt]::backdrop{background:#0006}#searchDialog[data-astro-cid-e66w4awt]{background:var(--bg-color);width:min(720px,92vw);color:var(--text-color);border:0;padding:.75rem .75rem .5rem;& #searchForm{background:var(--bg-color);border:0;grid-template-columns:1fr auto;gap:.5rem;margin-bottom:.5rem;display:grid;& input{background:var(--bg-secondary);color:var(--text-color);border:0;border-radius:6px;padding:.5rem .75rem}& .close{color:var(--text-color);cursor:pointer;background:0 0;border:0;padding:.5rem .75rem}}& #searchResults{background:var(--bg-secondary);border:1px solid var(--color-gray-700);border-radius:var(--radius-md);max-height:60vh;padding:.5rem;display:none;overflow-y:auto;& .result-item{color:var(--text-color);border:1px solid var(--bg-secondary);background:#ffffff08;border-radius:8px;margin-bottom:.4rem;padding:.6rem .7rem;text-decoration:none;display:block;&:hover,&.selected{border-color:var(--accent);background:#ffffff0f}& .result-title{margin-bottom:.2rem;font-weight:600}& .result-desc{color:var(--text-muted);opacity:.9;font-size:.95em;line-height:1.35}& mark{background:color-mix(in oklab, var(--accent) 65%, #fff0);color:var(--bg-color);border-radius:3px;padding:0 2px}}}}header[data-astro-cid-nen7h5rs]{width:100vw;height:var(--header-height);border-bottom:2px solid var(--bg-secondary);z-index:100;-webkit-backdrop-filter:blur(8px);background:#21232999;margin-left:auto;margin-right:auto;position:fixed}.site-title[data-astro-cid-nen7h5rs]{margin:0;padding-left:1em;font-size:1em;font-weight:700}nav[data-astro-cid-nen7h5rs]{justify-content:space-between;align-items:center;display:flex;& a{color:var(--text-color);border-bottom:4px solid #0000;text-decoration:none;&.active{border-bottom-color:var(--accent);text-decoration:none}}& .site-title a{text-decoration:none}}.internal-links[data-astro-cid-nen7h5rs]>a[data-astro-cid-nen7h5rs]{padding-left:1em;padding-right:1em}#searchButton[data-astro-cid-nen7h5rs]{color:var(--text-color);cursor:pointer;background-color:#0000;border:none;&:hover{color:var(--accent)}&>svg[data-astro-cid-nen7h5rs]{width:24px;height:24px}}
