:root{color-scheme:light dark;--background:#f6f3ed;--surface:#ece8df;--surface-strong:#e1ddd3;--text:#172024;--muted:#596469;--line:#c9c5bc;--accent:#166b65;--accent-strong:#0d514d;--code:#263336;--max-width:72rem;--measure:46rem;font-synthesis:none;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}@media (prefers-color-scheme:dark){:root{--background:#101417;--surface:#171d20;--surface-strong:#20282c;--text:#eef0ec;--muted:#aab4b4;--line:#334045;--accent:#72d0c4;--accent-strong:#a1e6dc;--code:#d8e2df}}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--background);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-size:1rem;line-height:1.65}a{color:var(--accent);text-underline-offset:.2em;text-decoration-thickness:.08em}a:hover{color:var(--accent-strong)}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:4px;border-radius:.125rem}img,svg{max-width:100%;display:block}h1,h2,h3{letter-spacing:-.035em;text-wrap:balance;margin:0;font-weight:620;line-height:1.1}h1{font-size:clamp(2.75rem,8vw,6.5rem)}h2{font-size:clamp(1.8rem,4vw,3rem)}h3{font-size:1.25rem}p{margin:0}code{color:var(--code);font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.9em}.container{width:min(calc(100% - 2rem), var(--max-width));margin-inline:auto}.site-header{border-bottom:1px solid var(--line)}.header-inner{justify-content:space-between;align-items:center;gap:2rem;min-height:5rem;display:flex}.wordmark{color:var(--text);white-space:nowrap;align-items:center;gap:.75rem;font-weight:650;text-decoration:none;display:inline-flex}.wordmark>span:first-child{border:1px solid var(--line);place-items:center;width:2rem;height:2rem;font-family:SFMono-Regular,Consolas,monospace;font-size:.75rem;display:grid}.nav-list{flex-wrap:wrap;gap:.25rem 1.25rem;margin:0;padding:0;list-style:none;display:flex}.nav-list a{color:var(--muted);font-size:.9rem;text-decoration:none}.nav-list a:hover,.nav-list a[aria-current=page]{color:var(--text)}.nav-list a[aria-current=page]{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:.4rem;text-decoration-thickness:2px}.skip-link{z-index:10;background:var(--text);color:var(--background);padding:.6rem .9rem;position:fixed;top:1rem;left:1rem;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.page-section{padding-block:clamp(4rem,9vw,7rem)}.page-section+.page-section{border-top:1px solid var(--line)}.eyebrow{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin-bottom:1rem;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.78rem;font-weight:650}.lede{max-width:var(--measure);color:var(--muted);margin-top:1.5rem;font-size:clamp(1.15rem,2vw,1.45rem);line-height:1.55}.text-link{align-items:center;gap:.45rem;font-weight:620;display:inline-flex}.text-link:after{content:"→"}.link-row{flex-wrap:wrap;gap:1rem 1.5rem;margin-top:2rem;display:flex}.grid{grid-template-columns:repeat(12,1fr);gap:1rem;margin-top:2.5rem;display:grid}.card{border:1px solid var(--line);background:var(--surface);flex-direction:column;grid-column:span 4;gap:1rem;min-height:17rem;padding:1.5rem;display:flex}.card p{color:var(--muted)}.card .text-link{margin-top:auto}.tag-list{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.tag-list li{border:1px solid var(--line);padding:.25rem .55rem;font-family:SFMono-Regular,Consolas,monospace;font-size:.72rem}.content{max-width:var(--measure)}.content>*+*{margin-top:1.25rem}.content h2,.content h3{margin-top:3.5rem}.content ul{padding-left:1.25rem}.content blockquote{border-left:3px solid var(--accent);color:var(--muted);margin:2rem 0;padding-left:1.25rem;font-size:1.2rem}.site-footer{border-top:1px solid var(--line);color:var(--muted);font-size:.85rem}.footer-inner{justify-content:space-between;gap:1rem;padding-block:2rem;display:flex}@media (width<=56rem){.header-inner{flex-direction:column;align-items:flex-start;gap:1rem;padding-block:1.25rem}.card{grid-column:span 6}}@media (width<=38rem){:root{--measure:100%}.wordmark>span:last-child{display:none}.nav-list{gap:.4rem .9rem}.nav-list a{font-size:.83rem}.card{grid-column:1/-1;min-height:auto}.footer-inner{flex-direction:column}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important}}
