:root{--fg: #1f1f1f;--bg: #ffffff;--muted: #6c6c6c;--rule: #eaeaea;--link: #0366d6;--link-visited: #5a3696;--code-bg: #f6f8fa}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--fg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:17px;line-height:1.62;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{display:flex;flex-direction:column;min-height:100vh}main{max-width:720px;width:100%;margin:2rem auto 3.5rem;padding:0 1.25rem;flex:1}h1,h2,h3,h4{font-weight:600;line-height:1.25;margin:2.2rem 0 .6rem;color:var(--fg)}h1{font-size:1.85rem;margin-top:.5rem}h2{font-size:1.3rem;margin-top:2.4rem}h3{font-size:1.05rem}p{margin:.8rem 0}a{color:var(--link);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}a:visited{color:var(--link-visited)}a:hover{text-decoration:none}img{max-width:100%;height:auto;display:block}img.avatar{width:110px;height:110px;border-radius:50%;object-fit:cover;margin:0 1.1rem .4rem 0;float:left}hr{border:0;border-top:1px solid var(--rule);margin:2rem 0}.sep{text-align:center;color:var(--muted);margin:1.8rem 0;letter-spacing:.5em;font-size:.9em}code,pre,.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.95em}code{background:var(--code-bg);padding:.1em .32em;border-radius:3px}pre{background:var(--code-bg);padding:.9rem 1rem;overflow-x:auto;border-radius:4px}pre code{background:transparent;padding:0}blockquote{margin:1rem 0;padding:.2rem 0 .2rem 1rem;border-left:3px solid var(--rule);color:var(--muted)}ul,ol{padding-left:1.4rem}li{margin:.25rem 0}.post-meta{color:var(--muted);font-size:.92em}.muted{color:var(--muted)}.site-header{border-bottom:1px solid var(--rule);padding:1.25rem;background:var(--bg)}.site-header-inner{max-width:720px;margin:0 auto;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem}.site-header a{color:var(--fg);text-decoration:none}.site-title{font-weight:600}.site-nav{display:flex;gap:1.2rem;font-size:.95em}.site-nav a:hover{text-decoration:underline}.site-footer{border-top:1px solid var(--rule);padding:1.5rem 1.25rem;color:var(--muted);font-size:.9em}.site-footer-inner{max-width:720px;margin:0 auto;display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem}.site-footer a{color:var(--muted)}.timeline{list-style:none;padding:0;margin:1.2rem 0}.timeline>li{display:grid;grid-template-columns:64px 56px 1fr;column-gap:14px;align-items:start;padding:.6rem 0}.timeline.no-logo>li{grid-template-columns:64px 1fr}.timeline .tl-year{color:var(--muted);font-size:.9em;font-variant-numeric:tabular-nums;padding-top:4px}.timeline .tl-logo{width:48px;height:48px;border:1px solid var(--rule);border-radius:6px;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden}.timeline .tl-logo img{max-width:100%;max-height:100%}.timeline .tl-logo .monogram{font-weight:600;font-size:.95em;color:var(--muted);letter-spacing:.5px}.timeline .tl-body .tl-title{font-weight:600}.timeline .tl-body .tl-org{color:var(--muted)}.timeline .tl-body .tl-desc{margin:.35rem 0 0;color:var(--fg)}.timeline .tl-body ul{margin:.4rem 0 0;padding-left:1.2rem}.timeline .tl-body ul li{margin:.15rem 0}.post-list{list-style:none;padding:0;margin:0}.post-list>li{margin:.9rem 0}.post-list .date{color:var(--muted);font-size:.9em;display:inline-block;min-width:6.5rem;font-variant-numeric:tabular-nums}.post-list .pl-desc{color:var(--muted);margin-left:6.5rem;font-size:.95em;margin-top:.15rem}.clearfix:after{content:"";display:block;clear:both}.prose h1{font-size:1.55rem;font-weight:600;margin-bottom:.4rem}.prose h2{font-size:1.05rem;font-weight:600;margin:1.8rem 0 .4rem}.prose h3{font-size:1rem;font-weight:600;margin:1.2rem 0 .2rem}.prose p{margin:.85rem 0}.prose ul,.prose ol{margin:.85rem 0;padding-left:1.3rem}.prose li{margin:.2rem 0}.prose strong{font-weight:600}.prose em{font-style:normal}.prose blockquote{margin:.85rem 0;padding:0;border:0;color:var(--fg);font-style:normal}.prose hr{margin:1.4rem 0}.prose .post-meta{margin-top:0;margin-bottom:1.5rem}@media (max-width: 540px){img.avatar{float:none;margin:0 auto 1rem;display:block}.post-list .date{display:block;min-width:0}.post-list .pl-desc{margin-left:0}.timeline>li{grid-template-columns:48px 1fr}.timeline .tl-year{grid-column:1 / -1;padding:0 0 .2rem}}
