:root{--color-text:#464646;--color-heading:#333;--color-accent:#337ab7;--color-accent-hover:#2e6da4;--color-border:#e5e5e5;--color-border-light:#eee;--color-bg-subtle:#f5f5f5;--font-family:"メイリオ",Meiryo,"Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Sans","Noto Sans JP",sans-serif;--content-max-width:900px}*{box-sizing:border-box}body{margin:0;font-family:var(--font-family);font-size:14px;line-height:1.7;color:var(--color-text);background:#fff}a{color:var(--color-accent);text-decoration:none}a:hover{color:var(--color-accent-hover);text-decoration:underline}h1,h2,h3,h4,h5,h6{color:var(--color-heading);margin:1.5em 0 1.2em;clear:both}h1:first-child,h2:first-child,h3:first-child{margin-top:0}h2{font-size:1.75rem}h3{font-size:1.4rem}p{line-height:1.7}dl,ol,p,ul{margin-bottom:1.2em}dl,ol,ul{margin-top:1.5em}li{margin-bottom:.8em;line-height:1.65em}dt{border-left:2px solid var(--color-accent)}dd,dt{padding-left:10px;margin-bottom:10px}dd{border-left:2px solid var(--color-border)}blockquote{border:5px solid var(--color-border-light);background-color:#fcfcfc;padding:20px;margin:1.5em 0}table{border-collapse:collapse;width:100%;margin:1.5em 0}td,th{border:1px solid var(--color-border);padding:.5em .8em;text-align:left}th{background:var(--color-bg-subtle)}code,pre{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.9em}pre{background:var(--color-bg-subtle);padding:1em;overflow-x:auto;border-radius:.5rem}img{max-width:100%;height:auto}body:has(main[data-content-width="1080"]){--content-max-width:1080px}body:has(main.article-main){--content-max-width:1200px}.site-header{border-bottom:1px solid var(--color-border);background:var(--color-bg-subtle)}.site-header__inner{max-width:var(--content-max-width);margin:0 auto;padding:.2em 1rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5em 1.5em}.site-header__title{font-size:1.1rem;font-weight:700;color:var(--color-heading)}.site-header__title a{color:inherit}.site-header__brand{display:flex;align-items:center;gap:.65em}.site-header__brand,.site-header__brand:hover{text-decoration:none}.site-header__logo{height:28px;width:auto;display:block}.site-header__brand-text{white-space:nowrap}.site-header__nav{display:flex;gap:1.2em;flex-wrap:wrap;font-size:.9rem}.site-footer{border-top:1px solid var(--color-border);background:var(--color-bg-subtle);margin-top:3em}.site-footer__inner{max-width:var(--content-max-width);margin:0 auto;padding:1.5em 1rem;font-size:.85rem;color:#666}.post-list{list-style:none;padding:0}.post-list li{border-bottom:1px solid var(--color-border-light);padding:.9em 0;margin-bottom:0;line-height:1.5}.post-list time{color:#888;font-size:.85em}.post-list__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.3em .8em;margin-top:.2em}.post-list__tags{display:inline-flex;flex-wrap:wrap;gap:.4em}.post-layout{display:grid;grid-template-columns:minmax(0,1fr) 160px;gap:2rem;align-items:start}.post-layout__body{min-width:0}.post-layout__aside{position:sticky;top:1rem}.post-years{border-left:1px solid var(--color-border);padding-left:1rem;font-size:13px}.post-years__title{margin:0 0 .5rem;font-weight:700;color:var(--color-heading)}.post-years ul{list-style:none;margin:0;padding:0}.post-years li{border:none;padding:0;margin:.35rem 0}.post-years a{color:var(--color-text)}.post-list li[id^=year-]{scroll-margin-top:1rem}@media (max-width:992px){.post-layout{grid-template-columns:minmax(0,1fr)}.post-layout__aside{position:static;order:-1}.post-years ul{display:flex;flex-wrap:wrap;gap:.4rem 1rem}.post-years li{margin:0}}.post-list__tag{font-size:.8em;color:#888;background:var(--color-bg-subtle);border-radius:1em;padding:.1em .7em}a.post-list__tag:hover{color:var(--color-accent-hover);text-decoration:none}.post-search{display:flex;align-items:center;gap:1em;flex-wrap:wrap;margin-bottom:1em}.post-search input[type=search]{flex:1 1 260px;font:inherit;font-size:1rem;padding:.5em .8em;border:1px solid var(--color-border);border-radius:.3em}.post-search__count{color:#888;font-size:.85em;margin:0;white-space:nowrap}.post-pager{display:flex;justify-content:space-between;gap:1.5em;margin-top:2.5em;padding-top:1.5em;border-top:1px solid var(--color-border)}.post-pager a{display:flex;flex-direction:column;max-width:45%}.post-pager__next{text-align:right;margin-left:auto}.post-pager__label{font-size:.8em;color:#888}.post-pager__title{color:var(--color-heading)}.post-pager a:hover .post-pager__title{color:var(--color-accent-hover);text-decoration:underline}main{max-width:var(--content-max-width);margin:0 auto;padding:2rem 1rem}@media (max-width:768px){main{padding:1.5rem 1rem}h2{font-size:1.4rem}h3{font-size:1.15rem}.site-header__inner{padding:.2em 1rem;gap:.5em 1em}blockquote{padding:15px}table{display:block;overflow-x:auto;white-space:nowrap}}@media (max-width:480px){.post-pager{flex-direction:column;gap:1em}.post-pager a,.post-pager__next{max-width:100%;margin-left:0;text-align:left}}.page-content img{display:block;max-width:min(100%,420px);margin:1.5em auto;border-radius:.5rem;border:1px solid var(--color-border)}.page-content hr{border:none;border-top:1px solid var(--color-border);margin:2.5em 0}.page-content .icon-link{display:flex;align-items:center;justify-content:center;width:72px;height:72px;margin:0 auto 1em;border:2px solid var(--color-accent);border-radius:50%;color:var(--color-accent)}.page-content .icon-link svg{width:32px;height:32px;fill:currentColor}.page-content .icon-link:hover{background:var(--color-accent);color:#fff;text-decoration:none}.page-content table{border:none;margin:2em 0}.page-content thead{display:none}.page-content td,.page-content th{border:none;background:none;vertical-align:top;padding:.8em 1em}.page-content td:first-child{text-align:center;padding-top:.8em;white-space:nowrap}.page-content td:first-child img{max-width:140px;margin:0 auto}.page-content td:first-child .icon-link{margin:0 auto}.page-content .avatar-inline{display:inline-block;max-width:64px;border-radius:50%;border:none;margin:.3em .5em .3em 0;vertical-align:middle}main.article-main{max-width:1200px}.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:2rem;align-items:start}.article-layout__body{min-width:0}.article-layout__body,.article-layout__body a,.article-layout__body code{overflow-wrap:anywhere}.article-layout__body pre{max-width:100%;overflow-x:auto}.article-layout__body pre code{overflow-wrap:normal}.article-layout__body img[src*="/sato_"],.article-layout__body img[src*="/takahashi_"]{width:80px;height:80px;border-radius:50%}.article-layout__aside{position:sticky;top:1rem;max-height:calc(100vh - 2rem);overflow-y:auto}.article-toc{border-left:1px solid var(--color-border);padding-left:1rem;font-size:13px}.article-toc__title{margin:0 0 .5rem;font-weight:700;color:var(--color-heading)}.article-toc ul{list-style:none;margin:0;padding:0}.article-toc__item{margin:.35rem 0;line-height:1.5}.article-toc__item--h3{padding-left:1rem}.article-toc a{color:var(--color-text)}.article-toc a[aria-current=true]{color:var(--color-accent);font-weight:700}@media (max-width:992px){.article-layout{grid-template-columns:minmax(0,1fr)}.article-layout__aside{display:none}}