:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background:#f7f7f3;--surface:#fff;--text:#20211f;--muted:#676a64;--line:#dedfd8;--link:#005bd6;--link-hover:#003f96}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--background);color:var(--text);text-rendering:optimizelegibility;margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans JP,sans-serif;font-size:17px;line-height:1.75}a{color:var(--link);text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{color:var(--link-hover)}.site-shell{width:min(100% - 40px,760px);margin:0 auto}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;padding:34px 0 24px;display:flex}.site-name{color:var(--text);white-space:nowrap;font-weight:650;text-decoration:none}.site-header nav{flex-wrap:wrap;justify-content:flex-end;gap:4px 14px;font-size:.9rem;display:flex}.hero{padding-top:64px}.avatar{object-fit:cover;background:var(--surface);border:1px solid var(--line);border-radius:50%;display:block}.eyebrow{color:var(--muted);letter-spacing:.045em;text-transform:uppercase;margin:24px 0 2px;font-size:.88rem}h1,h2{letter-spacing:-.02em;line-height:1.25}h1{margin:0;font-size:clamp(2rem,8vw,3.2rem);font-weight:620}h2{margin:0 0 16px;font-size:1.22rem;font-weight:650}p{margin:0 0 20px}.lead{max-width:680px;margin-top:20px;font-size:1.12rem}.links{color:var(--muted)}section{border-bottom:1px solid var(--line);padding:48px 0;scroll-margin-top:20px}.current-focus{color:var(--muted)}.item-list{margin:0;padding-left:1.25rem}.item-list li+li{margin-top:14px}.writing-list time{color:var(--muted);font-size:.84rem;display:block}.site-footer{color:var(--muted);justify-content:space-between;gap:24px;padding:32px 0 56px;font-size:.82rem;display:flex}.post{padding:56px 0}.post h1{margin-top:28px;font-size:clamp(1.9rem,7vw,2.8rem)}.back-link,.post-date{color:var(--muted);font-size:.88rem}.post-date{margin-top:14px}.post-body{margin-top:42px}.post-body h2,.post-body h3{margin-top:2.2em}.post-body img{max-width:100%}.post-body pre{border-radius:6px;padding:18px;overflow-x:auto}.post-body code:not(pre code){background:#e9eae4;border-radius:4px;padding:.1em .35em;font-size:.9em}@media (max-width:640px){body{font-size:16px}.site-shell{width:min(100% - 28px,760px)}.site-header,.site-footer{flex-direction:column;align-items:flex-start}.site-header nav{justify-content:flex-start}.hero{padding-top:48px}section{padding:40px 0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
