:root{--brand-primary:#111827;--brand-font:system-ui, sans-serif;--ground:#fff;--ink:#111;--header-ground:#fff;--header-ink:#111;--footer-ground:#f4f4f4;--footer-ink:#111;--panel:#f4f4f4;--accent:var(--brand-primary);--accent-ink:#fff;--radius:8px;--text-font:var(--brand-font);--display-font:var(--brand-font);--display-weight:700;--step-small:clamp(.8125rem, .79rem + .1vw, .875rem);--step-body:clamp(1.0625rem, 1rem + .25vw, 1.1875rem);--step-lead:clamp(1.25rem, 1.1rem + .7vw, 1.625rem);--step-head:clamp(1.5rem, .6rem + 3.6vw, 4rem);--margin:clamp(16px, 2.4vw, 36px);--ease-out:cubic-bezier(.22, 1, .36, 1)}body{font-family:var(--brand-font);margin:0}.themed{background:var(--ground);color:var(--ink);font:400 var(--step-body) / 1.6 var(--text-font);-webkit-font-smoothing:antialiased}.themed *,.themed :before,.themed :after{box-sizing:border-box}.themed h1,.themed h2,.themed h3{font-family:var(--display-font);font-weight:var(--display-weight);letter-spacing:-.02em;text-wrap:balance;line-height:1.05}.themed p{text-wrap:pretty}.themed a{color:inherit;text-underline-offset:.18em;text-decoration-thickness:2px}.themed :focus-visible{outline-offset:4px;outline:3px solid}.site-header{z-index:10;min-height:64px;padding:10px var(--margin);background:var(--header-ground);color:var(--header-ink);flex-wrap:wrap;align-items:center;gap:8px 24px;display:flex;position:sticky;top:0}.site-wordmark{font:var(--display-weight) var(--step-lead) / 1 var(--display-font);letter-spacing:-.03em;margin-right:auto;text-decoration:none}.site-nav{flex-wrap:wrap;align-items:center;gap:4px 28px;font-weight:500;display:flex}.site-nav a{padding:10px 0;text-decoration:none}.site-nav a:not(.site-action):hover{text-decoration:underline}.site-action{border-radius:var(--radius);background:var(--header-ink);min-height:44px;transition:transform .16s var(--ease-out);align-items:center;font-weight:500;display:inline-flex;color:var(--header-ground)!important;padding:0 18px!important;text-decoration:none!important}.site-action:active,.inline-cta a:active{transform:scale(.97)}.blog-head,.article-head{background:var(--header-ground);color:var(--header-ink);padding:clamp(40px, 8vh, 104px) var(--margin) clamp(40px, 6vw, 80px)}.blog-head h1{letter-spacing:-.035em;max-width:16ch;margin:0;font-size:clamp(2.25rem,8vw,8rem);line-height:.92}.article-head h1{max-width:24ch;margin:0;font-size:clamp(1.5rem,5.2vw,5.5rem)}.blog-head p{font-size:var(--step-lead);max-width:44ch;margin:20px 0 0;line-height:1.35}.blog-empty{padding:64px var(--margin)}.post-list{padding:clamp(40px, 6vw, 96px) var(--margin);grid-template-columns:repeat(auto-fill,minmax(min(100%,420px),1fr));gap:8px;margin:0;list-style:none;display:grid}.post-list a{border-radius:var(--radius);background:var(--panel);align-content:start;gap:10px;height:100%;padding:28px;text-decoration:none;transition:background-color .16s,color .16s;display:grid}@media (hover:hover){.post-list a:hover{background:var(--ink);color:var(--ground)}}.post-title{font:var(--display-weight) var(--step-lead) / 1.1 var(--display-font);letter-spacing:-.02em;text-wrap:balance}.post-description{font-size:var(--step-body)}.post-list time,.article-meta{font-size:var(--step-small)}.article-meta{margin:24px 0 0;font-weight:500}.article-layout{padding:clamp(40px, 6vw, 88px) var(--margin);grid-template-columns:minmax(0,68ch) minmax(220px,320px);justify-content:space-between;gap:48px;display:grid}.article-body{min-width:0}.article-body>:first-child{margin-top:0}.article-outline{border-radius:var(--radius);background:var(--panel);font-size:var(--step-small);align-self:start;padding:24px;position:sticky;top:96px}.article-outline-title{margin:0 0 12px;font-weight:500}.article-outline ol{gap:8px;margin:0;padding-left:1.2em;display:grid}.article-outline a{text-decoration:none}.article-outline a:hover{text-decoration:underline}.article-body h2{font-size:var(--step-lead);margin:2em 0 .6em}.article-body h3{font-size:var(--step-body);margin:1.6em 0 .4em}.article-body li+li{margin-top:.35em}.inline-cta{border-radius:var(--radius);background:var(--panel);justify-items:start;gap:14px;margin:2.2em 0;padding:24px 28px;display:grid}.inline-cta p{margin:0;font-weight:500}.inline-cta a,.article-cta .site-action{border-radius:var(--radius);background:var(--accent);min-height:48px;color:var(--accent-ink);transition:transform .16s var(--ease-out);align-items:center;padding:0 22px;font-weight:500;text-decoration:none;display:inline-flex}.article-cta{background:var(--accent);color:var(--accent-ink);padding:clamp(48px, 8vw, 112px) var(--margin);justify-items:start;gap:24px;display:grid}.article-cta p{font:var(--display-weight) var(--step-lead) / 1.2 var(--display-font);max-width:34ch;margin:0}.article-cta .site-action{background:var(--accent-ink)!important;color:var(--accent)!important}.site-footer{background:var(--footer-ground);color:var(--footer-ink);padding:clamp(48px, 7vw, 104px) var(--margin) 32px;gap:24px;display:grid}.site-footer p{margin:0}.site-footer-note{max-width:48ch}.site-footer-email{font:var(--display-weight) clamp(1.75rem, 6vw, 6rem) / 1 var(--display-font);letter-spacing:-.03em;overflow-wrap:anywhere}.site-footer-email a{text-decoration:none}.site-footer-links{flex-wrap:wrap;gap:4px 20px;display:flex}.site-footer-links a{align-items:center;min-height:44px;display:inline-flex}.site-footer-name{font-size:var(--step-small)}@keyframes rise{0%{opacity:0;translate:0 18px}}.blog-head>*,.article-head>*,.post-list li,.inline-cta{animation:rise .6s var(--ease-out) both}.blog-head>:nth-child(2),.article-head>:nth-child(2){animation-delay:70ms}.blog-head>:nth-child(3),.article-head>:nth-child(3){animation-delay:.14s}.post-list li:nth-child(2){animation-delay:70ms}.post-list li:nth-child(3){animation-delay:.14s}.post-list li:nth-child(4){animation-delay:.21s}.post-list li:nth-child(n+5){animation-delay:.28s}@supports (animation-timeline:view()){.post-list li:nth-child(n+5),.article-body h2,.article-cta>*,.site-footer>*{animation:linear both rise;animation-timeline:view();animation-range:entry entry 60%}}@media (max-width:700px){.site-header{position:static}.post-list a{padding:22px 16px}.post-title,.themed .post-list p,.post-description{text-wrap:wrap}.site-nav{width:100%;font-size:var(--step-small);order:3;gap:4px 20px}.article-head h1{font-size:clamp(1.375rem,6vw,2rem)}}@media (max-width:1000px){.article-layout{grid-template-columns:minmax(0,1fr)}.article-outline{grid-row:1;position:static}}@media (prefers-reduced-motion:reduce){.themed *,.themed :before,.themed :after{transition-duration:1ms!important;animation:none!important}}
