:root{--paper:#fdfcfa;--ink:#1d191b;--muted:#777074;--line:#dedbd5;--accent:#ae7010}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.8 "Helvetica Neue","PingFang SC","Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}a:focus-visible{outline:2px solid var(--accent);outline-offset:6px}::selection{background:#f3deaf}.blog-header{max-width:1120px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:2rem 2.5rem;border-bottom:1px solid var(--line);font-size:12px}.blog-brand{display:flex;align-items:baseline;gap:1rem}.blog-brand b{font-size:21px;font-weight:550}.blog-brand span,.eyebrow,.article-meta,.blog-footer{font:11px/1.7 "SFMono-Regular",Consolas,monospace;letter-spacing:.035em}.blog-header nav{display:flex;gap:2rem}.article-layout{display:grid;grid-template-columns:180px minmax(0,660px);gap:4rem;max-width:1060px;padding:4rem 2.5rem 6rem;margin:auto}.article-side{font-size:12px;color:var(--muted);padding-top:.25rem}.article-side a{display:block;margin-bottom:.6rem}.article-side .eyebrow{margin:3rem 0 1rem;color:var(--ink)}.article-side nav{position:sticky;top:2rem}.article-head .eyebrow{color:var(--accent);margin:0 0 1.5rem}.article-head h1{font-size:clamp(32px,4.5vw,52px);line-height:1.2;font-weight:500;letter-spacing:-.04em;margin:0 0 1.5rem;text-wrap:balance}.article-meta{display:flex;flex-wrap:wrap;gap:.6rem 1.5rem;color:var(--muted);padding-bottom:2rem;border-bottom:1px solid var(--line)}.article-prose{padding-top:1rem}.article-prose p{margin:1.25rem 0}.article-prose .article-lead{font-size:19px;line-height:1.8;color:#454044}.article-prose h2{font-size:24px;font-weight:550;letter-spacing:-.025em;line-height:1.4;margin:3rem 0 1rem}.article-prose ol{padding-left:1.4rem}.article-prose li{padding-left:.3rem;margin:.45rem 0}.article-prose figure{margin:2rem 0}.article-prose figure img{display:block;width:100%;height:auto;border:1px solid var(--line)}figcaption{font-size:12px;color:var(--muted);line-height:1.6;margin-top:.65rem}.article-end{border-top:1px solid var(--line);margin-top:3rem;padding-top:1.5rem;display:flex;justify-content:space-between;font-size:13px}.blog-footer{max-width:1120px;margin:auto;padding:1.5rem 2.5rem 3rem;display:flex;justify-content:space-between;border-top:1px solid var(--line);color:var(--muted)}.blog-index{max-width:940px;margin:0 auto;padding:4.5rem 2.5rem 8rem;min-height:75vh}.blog-index h1{font-size:clamp(44px,7vw,80px);font-weight:450;line-height:1.05;letter-spacing:-.055em;margin:1.5rem 0}.blog-index>p{color:var(--muted);margin-bottom:4rem}.blog-post{display:block;border-top:1px solid var(--ink);border-bottom:1px solid var(--line);padding:1.5rem 0 2rem}.blog-post .eyebrow{color:var(--muted);display:flex;justify-content:space-between}.blog-post h2{font-size:clamp(24px,3vw,36px);font-weight:500;line-height:1.35;margin:2rem 0 1rem;letter-spacing:-.035em}.blog-post p{max-width:40em;font-size:14px;color:var(--muted)}.blog-post>span:last-child{display:block;margin-top:2rem;font-size:13px}.skip{position:absolute;left:1rem;top:-5rem;background:var(--ink);color:white;padding:.5rem}.skip:focus{top:1rem}@media(max-width:760px){.blog-header{padding:1.4rem 1.25rem}.blog-brand span{display:none}.blog-header nav{gap:1.2rem}.article-layout{display:block;padding:2rem 1.25rem 4rem}.article-side{margin-bottom:2rem}.article-side nav{position:static}.article-side .eyebrow,.article-side .toc-link{display:none}.article-head h1{font-size:34px}.article-prose .article-lead{font-size:18px}.article-prose h2{font-size:23px}.blog-footer{padding:1.25rem;gap:1rem}.blog-index{padding:3rem 1.25rem 5rem}.blog-index>p{margin-bottom:3rem}.article-meta{font-size:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
