:root{color-scheme:light;--ink:#2c3c4c;--muted:#6b7883;--line:#e0e5e8;--link:#376c85;--paper:#fdfdfd}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:18px/1.75 'Source Serif 4',Georgia,serif;-webkit-font-smoothing:antialiased}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:4px}a:focus-visible,button:focus-visible,video:focus-visible,summary:focus-visible{outline:2px solid var(--link);outline-offset:5px}button{font:inherit;color:inherit}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400}h1{font-size:clamp(34px,4.2vw,46px);line-height:1.2;letter-spacing:-.025em;text-wrap:balance}h2{font-size:28px;line-height:1.35;letter-spacing:-.015em}h3{font-size:21px;line-height:1.4}strong{font-weight:600}time{font-variant-numeric:tabular-nums}.site-header{max-width:1064px;padding:0 32px;height:84px;margin:auto;display:flex;align-items:center;gap:20px;font-size:16px}.site-header .home{font-size:19px;color:var(--ink)}.site-header .section{border-left:1px solid var(--line);padding-left:20px;color:var(--muted)}.site-header nav{margin-left:auto;display:flex;gap:24px;font-size:15px}.site-header [aria-current=page]{color:var(--ink)}.skip-link{position:fixed;top:8px;left:12px;transform:translateY(-180%);background:var(--paper);padding:6px 12px;z-index:5}.skip-link:focus{transform:none}.blog-index{max-width:764px;padding:54px 32px 110px;margin:auto;min-height:calc(100vh - 170px)}.index-intro{color:var(--muted);margin-top:17px;max-width:560px;font-size:20px}.post-list{list-style:none;padding:0;margin:56px 0 0}.post-list li{padding:27px 0 31px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.post-list time,.post-meta{font-size:14px;color:var(--muted)}.post-list h2{margin-top:9px}.post-list h2 a{color:var(--ink)}.post-list p{color:#60717e;font-size:17px;margin-top:13px;max-width:610px}.read-link{display:inline-block;margin-top:19px;font-size:15px}.post{max-width:1034px;margin:38px auto 80px;padding:0 32px}.post-header,.prose,.post-end,.references{max-width:700px;margin-left:auto;margin-right:auto}.post-header{margin-bottom:38px}.post-header h1{font-size:clamp(30px,4vw,40px);line-height:1.22;letter-spacing:-.02em}.post-header .title-phrase{white-space:nowrap}.back-link{font-size:14px;display:inline-block;margin-bottom:23px}.post-header .dek{font-size:21px;line-height:1.55;color:#61727f;margin-top:20px}.post-meta{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:22px}.post-header .rule{margin-top:31px;border:0;border-top:1px solid var(--line)}.prose p{margin:0 0 21px}.prose h2{margin:44px 0 19px}.prose a{text-decoration:underline;text-decoration-color:#b1c4cf;text-underline-offset:3px}.prose sup{font-size:12px;line-height:0;margin-left:2px}.prose .thesis{font-size:23px;line-height:1.5;color:#3a5363;border-left:2px solid #bacbd4;padding:3px 0 3px 23px;margin:28px 0}.comparison{margin:32px auto 38px;max-width:970px}.figure-heading{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:12px;font-size:16px}.figure-heading .figure-number{font-size:13px;color:var(--muted);white-space:nowrap}.comparison video{width:100%;height:auto;display:block;aspect-ratio:2/1;border:1px solid #e1e7eb;background:#edf1f3;border-radius:4px}.comparison figcaption{max-width:700px;margin:13px auto 0;color:#657581;font-size:15px;line-height:1.6}.comparison figcaption strong{color:#425867}.comparison .video-summary{display:block;margin-top:5px}.figure-note{font-size:13px;color:var(--muted);margin-top:6px}.scope-note{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 0;font-size:15px;color:#667782;line-height:1.6;margin:29px 0 32px}.architecture{margin:27px 0 30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;display:grid;grid-template-columns:max-content minmax(20px,1fr) max-content minmax(20px,1fr) max-content;align-items:center;gap:12px}.architecture div{font-size:16px;line-height:1.4;text-align:center}.architecture small{display:block;margin-top:6px;font-size:13px;color:var(--muted)}.architecture .arrow{color:#899da9;display:grid;place-items:center;line-height:1;text-align:center}.architecture-note{font-size:14px!important;color:var(--muted);margin-top:-16px!important}.post-end{border-top:1px solid var(--line);padding-top:24px;margin-top:37px;font-size:16px}.post-end p{color:var(--muted);margin-top:7px}.references{margin-top:37px;border-top:1px solid var(--line);padding-top:20px;font-size:14px;color:#657581}.references h2{font-size:18px;margin-bottom:13px}.references ol{padding-left:21px;margin:0}.references li{padding-left:5px;margin:9px 0;scroll-margin-top:25px}.site-footer{border-top:1px solid var(--line);max-width:1000px;margin:0 auto;padding:24px 0 29px;display:flex;justify-content:space-between;font-size:14px;color:var(--muted)}
@media(max-width:760px){.site-header{padding:0 22px;height:72px;gap:14px}.site-header .section{padding-left:14px}.site-header nav{gap:15px;font-size:14px}.blog-index{padding:35px 22px 74px}.index-intro{font-size:18px}.post-list{margin-top:37px}.post-list h2{font-size:27px}.post{padding:0 22px;margin-top:23px}.post-header .dek{font-size:19px}.post-header{margin-bottom:28px}body{font-size:17px;line-height:1.75}.prose h2{font-size:25px;margin-top:36px}.prose .thesis{font-size:21px;padding-left:17px}.figure-heading{align-items:flex-start;font-size:15px}.figure-heading .figure-number{font-size:12px;padding-top:2px}.comparison{margin:26px -8px 30px}.comparison figcaption{font-size:14px;padding:0 8px}.post-meta{font-size:13px}.site-footer{margin:0 22px;font-size:13px}.architecture{gap:8px}.architecture div{font-size:14px}.architecture small{font-size:12px}.scope-note{font-size:14px}}
@media(max-width:390px){.site-header{gap:10px}.site-header .section{padding-left:10px}.site-header nav{gap:12px}.site-header .home{font-size:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

@media(max-width:560px){.architecture{grid-template-columns:1fr;gap:10px}.architecture .arrow{width:20px;height:20px;justify-self:center;transform:rotate(90deg)}.architecture small{margin-top:2px}}
