:root{color-scheme:dark;--bg:#0a0a0b;--bg-raised:#111113;--line:#26262a;--line-strong:#34343a;--text:#d4d4d8;--text-muted:#8b8b93;--text-faint:#7c7c85;--highlight:#ededef;--code-bg:#0f0f11;--sans:var(--font-sans), "Hiragino Sans", "Noto Sans JP", "Yu Gothic", system-ui, sans-serif;--mono:var(--font-mono), ui-monospace, "SFMono-Regular", Menlo, monospace;--step--1:clamp(.84rem, .82rem + .1vw, .9rem);--step-0:clamp(1rem, .96rem + .2vw, 1.0625rem);--step-1:clamp(1.2rem, 1.1rem + .45vw, 1.4rem);--step-2:clamp(1.45rem, 1.25rem + .9vw, 1.9rem);--step-3:clamp(1.9rem, 1.5rem + 1.9vw, 3rem);--radius:10px;--radius-sm:6px;--gutter:clamp(16px, 4vw, 40px);--page:1080px;--measure:68ch}*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scrollbar-color:var(--line-strong) var(--bg);scroll-padding-top:5rem}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background:var(--bg);min-height:100svh;color:var(--text);font-family:var(--sans);font-size:var(--step-0);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;flex-direction:column;line-height:1.7;display:flex;overflow-x:clip}img,picture,svg,video{max-width:100%;height:auto;display:block}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer}h1,h2,h3,h4{color:var(--highlight);letter-spacing:-.01em;text-wrap:balance;font-weight:600;line-height:1.2}p{text-wrap:pretty}a{color:inherit;text-decoration-color:var(--line-strong);text-underline-offset:.22em;text-decoration-thickness:1px;transition:color .15s,text-decoration-color .15s}a:hover{color:var(--highlight);text-decoration-color:currentColor}:focus-visible{outline:2px solid var(--highlight);outline-offset:3px;border-radius:2px}::selection{color:#fff;background:#3a3a42}@view-transition{navigation:auto}@media (prefers-reduced-motion:no-preference){::view-transition-old(root){animation:.15s both vt-out}::view-transition-new(root){animation:.2s both vt-in}}@keyframes vt-out{to{opacity:0}}@keyframes vt-in{0%{opacity:0}}.container{width:min(100% - 2 * var(--gutter), var(--page));margin-inline:auto}.narrow{width:min(100% - 2 * var(--gutter), var(--measure));margin-inline:auto}main{flex:1}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--highlight);color:var(--bg);border-radius:var(--radius-sm);padding:.6rem 1rem;font-weight:600;position:absolute;top:-4rem;left:1rem}.skip-link:focus{top:1rem}.mono{font-family:var(--mono)}.muted{color:var(--text-muted)}.page-head{border-bottom:1px solid var(--line);margin-bottom:clamp(1.5rem,4vw,2.5rem);padding-block:clamp(3rem,8vw,5.5rem) clamp(1.5rem,4vw,2.5rem)}.page-head h1{font-size:var(--step-3)}.page-head p{color:var(--text-muted);max-width:60ch;margin-top:.75rem}.section{padding-block:clamp(2.5rem,7vw,4.5rem)}.section-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:1rem;padding-bottom:.9rem;display:flex}.section-head h2{font-size:var(--step-1)}.more{font-size:var(--step--1);color:var(--text-muted);white-space:nowrap;text-decoration:none}.more:hover{color:var(--highlight)}.btn{border-radius:var(--radius-sm);border:1px solid var(--line-strong);color:var(--highlight);font-size:var(--step--1);align-items:center;gap:.5rem;padding:.6rem 1rem;font-weight:500;text-decoration:none;transition:border-color .15s,background .15s;display:inline-flex}.btn:hover{border-color:var(--text-faint);background:var(--bg-raised)}.btn-primary{background:var(--highlight);color:var(--bg);border-color:var(--highlight)}.btn-primary:hover{color:var(--bg);background:#fff;border-color:#fff}.tags{font-family:var(--mono);flex-wrap:wrap;gap:.25rem .9rem;padding:0;font-size:.8rem;list-style:none;display:flex}.tags a{color:var(--text-muted);text-decoration:none}.tags a:hover{color:var(--highlight)}.facts{font-family:var(--mono);grid-template-columns:max-content 1fr;gap:.45rem 1.5rem;font-size:.85rem;line-height:1.5;display:grid}.facts dt{color:var(--text-faint)}.facts dd{color:var(--text)}.facts a{color:var(--highlight)}.empty{color:var(--text-muted);padding-block:1.25rem}.prose{font-size:var(--step-0);line-height:1.8}.prose>*+*{margin-top:1.2em}.prose h2{font-size:var(--step-2);margin-top:2.2em}.prose h3{font-size:var(--step-1);margin-top:1.9em}.prose h4{font-size:var(--step-0);margin-top:1.7em}.prose :is(h2,h3,h4)+*{margin-top:.7em}.prose a{color:var(--highlight);text-decoration-color:#55555d}.prose a:hover{text-decoration-color:var(--highlight)}.prose strong{color:var(--highlight);font-weight:600}.prose :is(ul,ol){padding-left:1.3em}.prose li+li{margin-top:.4em}.prose li::marker{color:var(--text-faint)}.prose ol>li::marker{font-family:var(--mono);font-size:.9em}.prose blockquote{border-left:2px solid var(--line-strong);color:var(--text-muted);padding-left:1.1em}.prose hr{background:var(--line);border:0;height:1px;margin-block:3em}.prose img,.prose video{border-radius:var(--radius);border:1px solid var(--line);margin-inline:auto}.prose :not(pre)>code{font-family:var(--mono);background:var(--bg-raised);border:1px solid var(--line);color:var(--highlight);overflow-wrap:anywhere;border-radius:4px;padding:.1em .35em;font-size:.86em}.prose pre{font-family:var(--mono);border-radius:var(--radius-sm);border:1px solid var(--line);tab-size:2;padding:1rem 1.15rem;font-size:.85rem;line-height:1.7;position:relative;overflow-x:auto;background-color:var(--code-bg)!important}.prose pre code{font-family:inherit}.prose table{border-collapse:collapse;width:100%;font-size:var(--step--1);display:block;overflow-x:auto}.prose th,.prose td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:.6em .8em .6em 0}.prose th{color:var(--text-faint);font-weight:500;font-family:var(--mono);font-size:.8rem}.prose kbd{font-family:var(--mono);border:1px solid var(--line-strong);border-bottom-width:2px;border-radius:4px;padding:.1em .4em;font-size:.8em}.prose :is(h2,h3,h4){scroll-margin-top:5rem}.prose .heading-anchor{color:var(--text-faint);opacity:0;margin-left:.4em;text-decoration:none;transition:opacity .15s}.prose :is(h2,h3):hover .heading-anchor,.prose .heading-anchor:focus-visible{opacity:1}.copy-btn{font-family:var(--mono);border:1px solid var(--line-strong);background:var(--bg-raised);color:var(--text-muted);opacity:0;border-radius:4px;padding:.25rem .5rem;font-size:.7rem;transition:opacity .15s,color .15s;position:absolute;top:.5rem;right:.5rem}.prose pre:hover .copy-btn,.copy-btn:focus-visible{opacity:1}.copy-btn:hover{color:var(--highlight)}@media (hover:none){.copy-btn{opacity:1}}@layer astro.images{:where([data-astro-image]){height:auto}:where([data-astro-image=full-width]){width:100%}:where([data-astro-image=constrained]){max-width:100%}[data-astro-image-fit=fill]{object-fit:fill}[data-astro-image-fit=contain]{object-fit:contain}[data-astro-image-fit=cover]{object-fit:cover}[data-astro-image-fit=scale-down]{object-fit:scale-down}[data-astro-image-pos=top]{object-position:top}[data-astro-image-pos=bottom]{object-position:bottom}[data-astro-image-pos=left]{object-position:left}[data-astro-image-pos=right]{object-position:right}[data-astro-image-pos=center]{object-position:center}[data-astro-image-pos=top-left]{object-position:top left}[data-astro-image-pos=top-right]{object-position:top right}[data-astro-image-pos=top-center]{object-position:top center}[data-astro-image-pos=bottom-left]{object-position:bottom left}[data-astro-image-pos=bottom-right]{object-position:bottom right}[data-astro-image-pos=bottom-center]{object-position:bottom center}[data-astro-image-pos=left-top]{object-position:left top}[data-astro-image-pos=left-bottom]{object-position:left bottom}[data-astro-image-pos=left-center]{object-position:left center}[data-astro-image-pos=right-top]{object-position:right top}[data-astro-image-pos=right-bottom]{object-position:right bottom}[data-astro-image-pos=right-center]{object-position:right center}[data-astro-image-pos=center-top]{object-position:center top}[data-astro-image-pos=center-bottom]{object-position:center bottom}[data-astro-image-pos=center-left]{object-position:center left}[data-astro-image-pos=center-right]{object-position:center right}}.site-header[data-astro-cid-nen7h5rs]{z-index:50;border-bottom:1px solid var(--line);view-transition-name:site-header;background:#0a0a0beb;position:sticky;top:0}.bar[data-astro-cid-nen7h5rs]{justify-content:space-between;align-items:center;gap:1rem;height:3.75rem;display:flex}.brand[data-astro-cid-nen7h5rs]{color:var(--highlight);align-items:center;gap:.6rem;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}.brand-mark[data-astro-cid-nen7h5rs]{border:1px solid var(--line-strong);object-fit:cover;border-radius:50%;width:28px;height:28px;transition:border-color .2s}.brand[data-astro-cid-nen7h5rs]:hover .brand-mark[data-astro-cid-nen7h5rs]{border-color:var(--text-muted)}nav[data-astro-cid-nen7h5rs] ul[data-astro-cid-nen7h5rs]{align-items:center;gap:clamp(.15rem,1.5vw,.5rem);padding:0;list-style:none;display:flex}nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs],.search-btn[data-astro-cid-nen7h5rs]{font-size:var(--step--1);color:var(--text-muted);background:0 0;border:0;align-items:center;gap:.45rem;padding:.45rem clamp(.45rem,1.4vw,.7rem);text-decoration:none;transition:color .15s;display:inline-flex}nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:hover,.search-btn[data-astro-cid-nen7h5rs]:hover{color:var(--highlight)}nav[data-astro-cid-nen7h5rs] .icon-link[data-astro-cid-nen7h5rs]{padding-inline:.5rem}nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs][aria-current=page]{color:var(--highlight);text-decoration:underline;text-decoration-color:var(--text-faint);text-underline-offset:.5em}.search-kbd[data-astro-cid-nen7h5rs]{font-family:var(--mono);border:1px solid var(--line-strong);border-radius:4px;padding:0 .35rem;font-size:.7rem;line-height:1.4}@media (width<=520px){.search-kbd[data-astro-cid-nen7h5rs]{display:none}}@media (width<=400px){.brand-name[data-astro-cid-nen7h5rs]{display:none}nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs],.search-btn[data-astro-cid-nen7h5rs]{padding-inline:.45rem}}.site-footer[data-astro-cid-jo6i4kqk]{border-top:1px solid var(--line);padding-block:2.25rem calc(2.25rem + env(safe-area-inset-bottom));font-size:var(--step--1);margin-top:clamp(3rem,8vw,6rem)}.inner[data-astro-cid-jo6i4kqk]{flex-wrap:wrap;justify-content:space-between;gap:1.25rem 2rem;display:flex}.sig[data-astro-cid-jo6i4kqk]{color:var(--highlight)}.muted[data-astro-cid-jo6i4kqk]{color:var(--text-muted)}.small[data-astro-cid-jo6i4kqk]{color:var(--text-faint);margin-top:.25rem;font-size:.8rem}.links[data-astro-cid-jo6i4kqk]{flex-wrap:wrap;align-items:center;gap:.25rem 1.1rem;padding:0;list-style:none;display:flex}.links[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{width:36px;height:36px;color:var(--text-muted);place-items:center;text-decoration:none;transition:color .15s;display:grid}.links[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:var(--highlight)}.search[data-astro-cid-ac66eqjo]{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--bg-raised);width:min(100% - 2rem,640px);max-height:min(80svh,720px);color:var(--text);margin:10svh auto auto;padding:0;box-shadow:0 30px 80px #0009}.search[data-astro-cid-ac66eqjo]::backdrop{backdrop-filter:blur(6px);background:#050506b3}.search[data-astro-cid-ac66eqjo][open]{animation:pop .22s var(--ease-out)}@keyframes pop{0%{opacity:0;transform:translateY(8px)scale(.98)}}.search-panel[data-astro-cid-ac66eqjo]{padding:1rem 1.1rem 1.25rem}.search-top[data-astro-cid-ac66eqjo]{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.s-title[data-astro-cid-ac66eqjo]{color:var(--highlight);font-weight:600}.close[data-astro-cid-ac66eqjo]{font-family:var(--mono);border:1px solid var(--line-strong);color:var(--text-muted);background:0 0;border-radius:6px;padding:.2rem .5rem;font-size:.72rem}.hint[data-astro-cid-ac66eqjo]{color:var(--text-muted);font-size:var(--step--1)}.search-ui[data-astro-cid-ac66eqjo]{--pagefind-ui-scale:.85;--pagefind-ui-primary:#ededef;--pagefind-ui-text:#d4d4d8;--pagefind-ui-background:#0f0f11;--pagefind-ui-border:#34343a;--pagefind-ui-tag:#18181b;--pagefind-ui-border-width:1px;--pagefind-ui-border-radius:10px;--pagefind-ui-font:var(--sans)}.search-ui[data-astro-cid-ac66eqjo] mark{color:#fff;background:#3a3a42;border-radius:3px;padding:0 2px}.search-ui[data-astro-cid-ac66eqjo] .pagefind-ui__result-link{color:var(--highlight)}
