:root{--background:#fbf7ef;--foreground:#251f18;--muted:#756b60;--line:#d9cfc1;--soft-line:#eee4d6;--focus:#8d6e43;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=black]{--background:#12110f;--foreground:#f0e5d6;--muted:#afa18e;--line:#51473b;--soft-line:#2e2923;--focus:#d1ad72;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{background:var(--background);color:var(--foreground);scroll-behavior:smooth}body{background:var(--background);min-height:100vh;color:var(--foreground);font-kerning:normal;text-rendering:optimizelegibility;margin:0;font-family:Iowan Old Style,Palatino Linotype,Palatino,Yu Mincho,Hiragino Mincho ProN,Hiragino Mincho Pro,Noto Serif JP,serif;font-size:15px;line-height:1.84;transition:background-color .18s,color .18s}html[lang=ja] body{font-family:Yu Mincho,Hiragino Mincho ProN,Hiragino Mincho Pro,Noto Serif JP,Iowan Old Style,Palatino Linotype,Palatino,serif}html[lang=en] body{font-family:Iowan Old Style,Palatino Linotype,Palatino,Georgia,Yu Mincho,Hiragino Mincho ProN,serif}a{color:inherit;text-decoration-thickness:1px;-webkit-text-decoration-color:color-mix(in srgb, var(--foreground), transparent 48%);text-decoration-color:color-mix(in srgb, var(--foreground), transparent 48%);text-underline-offset:4px;transition:color .16s,text-decoration-color .16s,text-underline-offset .16s}a:hover{color:color-mix(in srgb, var(--foreground), var(--muted) 42%);text-underline-offset:5px;text-decoration-color:currentColor}button,input{font:inherit}.reading-progress{z-index:40;pointer-events:none;width:100%;height:1px;position:fixed;top:0;left:0}.reading-progress-bar{background:color-mix(in srgb, var(--focus), transparent 18%);transform-origin:0;width:100%;height:100%;transition:transform 90ms linear;transform:scaleX(0)}.site-shell{width:min(100%,620px);margin:0 auto;padding:82px 24px 96px}.site-controls{z-index:10;color:var(--muted);flex-wrap:wrap;justify-content:flex-end;gap:10px;font-size:13px;line-height:1;animation:.42s both controls-settle;display:flex;position:fixed;top:22px;right:max(22px,50vw - 310px)}.control-group,.theme-toggle{white-space:nowrap;gap:5px;display:inline-flex}.control-divider{color:var(--muted)}.text-button{color:inherit;cursor:pointer;text-underline-offset:4px;background:0 0;border:0;margin:0;padding:0;text-decoration:underline;text-decoration-thickness:1px;transition:color .16s,text-decoration-color .16s}.text-button[aria-current=true]{cursor:default;color:var(--foreground);text-decoration:none}.text-button:focus-visible,a:focus-visible,.search-input:focus-visible{outline:1px solid var(--focus);outline-offset:3px}.site-header{border-bottom:1px solid var(--soft-line);margin-bottom:40px;padding-bottom:24px;animation:.42s both soft-rise}.site-title{margin:0 0 8px;font-size:23px;font-weight:400;line-height:1.24}.site-title a{text-decoration:none}.profile-link,.tagline,.muted,.post-date,.post-list time{color:var(--muted)}.profile-link{font-size:14px;display:inline-block}.author-introduction{margin:0 0 40px;font-size:16px;line-height:1.9}.author-details summary{width:fit-content;color:var(--muted);cursor:pointer;text-underline-offset:4px;font-size:14px;text-decoration:underline;text-decoration-thickness:1px;list-style:none;display:block}.author-details summary::-webkit-details-marker{display:none}.author-details summary:focus-visible{outline:1px solid var(--focus);outline-offset:4px}.author-details .author-detail{margin:14px 0 0}.author-details .author-name-variants{color:var(--muted);margin:8px 0 0;font-size:14px}.tagline{max-width:520px;margin:0;font-size:18px}.language-list{gap:18px;margin-top:36px;display:flex}.section-kicker{color:var(--muted);letter-spacing:0;margin:0 0 16px;font-size:13px}.search-input{border:0;border-bottom:1px solid var(--soft-line);width:100%;color:inherit;caret-color:var(--focus);background:0 0;border-radius:0;outline:none;margin:0 0 46px;padding:8px 0 11px;transition:border-color .17s,box-shadow .17s,color .17s}.search-input:hover{border-color:var(--line)}.search-input:focus{border-color:var(--foreground);box-shadow:0 1px 0 var(--foreground);outline:none}.search-input::placeholder{color:var(--muted)}.category-section{margin-top:30px;animation:.36s both soft-reveal}.category-section+.category-section{border-top:1px solid var(--soft-line);padding-top:30px}.category-heading{align-items:baseline;gap:10px;margin:0 0 15px;display:flex}.category-heading:after{content:"";border-top:1px solid var(--soft-line);transform-origin:0;flex:1;animation:.56s both line-draw;transform:translateY(-.15em)}.category-heading h2{margin:0;font-size:18.5px;font-weight:400;line-height:1.35}.category-count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px;line-height:1}.category-empty{margin:0;font-size:13px}.post-list{gap:19px;margin:0;padding:0;list-style:none;display:grid}.post-list li{grid-template-columns:106px minmax(0,1fr);align-items:baseline;gap:20px;animation:.36s both list-item-in;display:grid}.post-list a{overflow-wrap:anywhere;min-width:0;-webkit-text-decoration-color:color-mix(in srgb, var(--foreground), transparent 70%);text-decoration-color:color-mix(in srgb, var(--foreground), transparent 70%);font-size:16px;line-height:1.75}.post-list li:nth-child(2){animation-delay:35ms}.post-list li:nth-child(3){animation-delay:70ms}.post-list li:nth-child(4){animation-delay:.105s}.post-list li:nth-child(5){animation-delay:.14s}.post-list time{font-variant-numeric:tabular-nums;letter-spacing:.01em;font-size:12px}.post{margin-top:36px;animation:.44s both soft-rise}.post-toc{color:var(--muted);font-size:12.5px;line-height:1.7}.post-toc-desktop{width:178px;animation:.52s both soft-reveal;position:fixed;top:142px;left:max(24px,50vw - 548px)}.post-toc-title{color:var(--foreground);margin:0 0 14px;font-size:14px;font-weight:400}.post-toc-list{gap:9px;margin:0;padding:0;list-style:none;display:grid}.post-toc-item a{color:var(--muted);text-decoration:none;transition:color .16s}.post-toc-item{position:relative}.post-toc-item:before{content:"";transform-origin:0;border-top:1px solid #0000;width:8px;transition:border-color .18s,transform .18s;position:absolute;top:.82em;left:-13px;transform:scaleX(.35)}.post-toc-item.is-active:before{border-color:var(--line);transform:scaleX(1)}.post-toc-item a[aria-current=location],.post-toc-item a:hover{color:var(--foreground)}.post-toc-depth-3{padding-left:12px}.post-toc-mobile{margin:-12px 0 28px;display:none}.post-toc-toggle,.post-toc-close{color:inherit;cursor:pointer;background:0 0;border:0;margin:0}.post-toc-toggle{color:var(--muted);text-underline-offset:4px;padding:0;font-size:13px;text-decoration:underline;text-decoration-thickness:1px}.post-toc-panel{z-index:30;background:var(--background);width:100%;max-width:none;height:100%;max-height:none;color:var(--foreground);border:0;margin:0;padding:28px 24px 56px;animation:.18s both panel-fade;position:fixed;inset:0;overflow:auto}.post-toc-close{color:var(--foreground);padding:0;font-size:36px;line-height:1;position:fixed;top:24px;left:24px}.post-toc-panel-inner{width:min(100%,520px);margin:112px auto 0;animation:.26s both panel-rise}.post h1{overflow-wrap:anywhere;text-wrap:pretty;margin:0 0 16px;font-size:clamp(25px,4.8vw,29px);font-weight:400;line-height:1.55}.post-date{font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:4px 16px;margin:0 0 40px;font-size:13px;display:flex}.post-date a{color:inherit}.mdx{font-size:17px;line-height:1.92}html[lang=en] .mdx{line-height:1.84}.mdx>*{animation:.46s both content-rise}.mdx p{margin:0 0 1.3em}html[lang=en] .mdx p{margin-bottom:1.04em}.mdx img{object-fit:contain;border-radius:4px;width:auto;max-width:100%;height:auto;max-height:min(74vh,760px);margin:1.95em auto;transition:filter .22s,transform .22s;display:block}.mdx figure{justify-items:center;margin:1.95em 0 2.15em;display:grid}.mdx figure img{margin:0}.mdx figure:hover img{filter:saturate(1.03);transform:translateY(-2px)}.mdx figure[data-layout=portrait] img,.mdx figure[data-layout=poster] img{max-width:min(100%,430px);max-height:min(78vh,820px)}.mdx figure[data-layout=square] img{max-width:min(100%,540px);max-height:min(72vh,680px)}.mdx figure[data-layout=wide] img{max-width:min(100%,680px);max-height:min(64vh,620px)}.mdx figcaption{width:min(100%,520px);color:var(--muted);margin-top:.65em;font-size:12.5px;line-height:1.65}.mdx figure[data-layout=portrait] figcaption,.mdx figure[data-layout=poster] figcaption{width:min(100%,430px)}.mdx figure[data-layout=square] figcaption{width:min(100%,540px)}.mdx h2,.mdx h3{margin:2.35em 0 .78em;scroll-margin-top:88px;font-weight:400;line-height:1.38}.mdx ul,.mdx ol{margin:1.15em 0 1.35em;padding-left:1.4em}.mdx li+li{margin-top:.35em}.mdx blockquote{border-left:2px solid color-mix(in srgb, var(--line), var(--focus) 16%);color:color-mix(in srgb, var(--foreground), var(--muted) 36%);margin:2.05em 0;padding:.15em 0 .15em 1.18em;font-size:15.5px;line-height:1.86}.mdx blockquote p{margin:0 0 .78em}.mdx blockquote p:last-child{margin-bottom:0}.post-share{border-top:1px solid var(--soft-line);color:var(--muted);margin-top:56px;padding-top:22px;font-size:13px;line-height:1.7;animation:.42s both soft-reveal}.post-share p{color:var(--foreground);margin:0 0 8px;font-size:14px}.not-found{max-width:520px;margin-top:36px;animation:.42s both soft-rise}.not-found-kicker{color:var(--muted);font-variant-numeric:tabular-nums;margin:0 0 14px;font-size:13px}.not-found h2{margin:0 0 12px;font-size:25px;font-weight:400;line-height:1.34}.not-found p{margin:0 0 1.05em}.not-found-actions{align-items:baseline;gap:10px;margin-top:22px;font-size:14px;display:flex}.not-found-divider{color:var(--muted)}:root[data-theme=black] .mdx figcaption,:root[data-theme=black] .post-share,:root[data-theme=black] .post-toc,:root[data-theme=black] .section-kicker,:root[data-theme=black] .post-date,:root[data-theme=black] .post-list time,:root[data-theme=black] .muted,:root[data-theme=black] .profile-link{color:color-mix(in srgb, var(--muted), var(--foreground) 8%)}:root[data-theme=black] .search-input{border-bottom-color:color-mix(in srgb, var(--soft-line), var(--line) 24%)}:root[data-theme=black] .search-input:focus{border-color:color-mix(in srgb, var(--foreground), var(--focus) 16%);box-shadow:0 1px 0 color-mix(in srgb, var(--foreground), var(--focus) 16%)}@keyframes controls-settle{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes soft-rise{0%{opacity:.72;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes content-rise{0%{opacity:.64;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes soft-reveal{0%{opacity:.72}to{opacity:1}}@keyframes line-draw{0%{opacity:.3;transform:translateY(-.15em)scaleX(.2)}to{opacity:1;transform:translateY(-.15em)scaleX(1)}}@keyframes list-item-in{0%{opacity:.72;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes panel-fade{0%{opacity:0}to{opacity:1}}@keyframes panel-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}.reading-progress{display:none}}@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()){.mdx>*,.post-share,.not-found,.category-section{animation-name:viewport-rise;animation-duration:1ms;animation-timeline:view();animation-range:entry cover 18%}}}@keyframes viewport-rise{0%{opacity:.48;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (max-width:720px){body{font-size:15px}.site-shell{padding:74px 20px 76px}.site-controls{left:20px;right:20px}.site-title{font-size:22px}.site-header{margin-bottom:34px;padding-bottom:21px}.search-input{margin-bottom:38px}.category-section{margin-top:26px}.category-section+.category-section{padding-top:26px}.category-heading{margin-bottom:13px}.tagline{font-size:16px}.post{margin-top:30px}.post-date{margin-bottom:32px}.post-list li{grid-template-columns:minmax(0,1fr);gap:3px}.post-list{gap:22px}.mdx{line-height:1.88}html[lang=en] .mdx{line-height:1.8}.mdx p{margin-bottom:1.25em}html[lang=en] .mdx p{margin-bottom:1em}.mdx figure{margin:1.72em 0 1.95em}.mdx figcaption{margin-top:.58em;font-size:12px;line-height:1.58}.mdx h2,.mdx h3{margin-top:2.12em}.mdx blockquote{margin:1.7em 0;padding-left:.95em;font-size:15px}.post-share{margin-top:46px}}@media (max-width:1120px){.post-toc-desktop{display:none}.post-toc-mobile{display:block}}
