@import url('./motion/styles.css');
/* Independent technical blog: restrained typography and readable light surfaces. */
.search-form{margin:28px 0}.search-form label{display:block;margin-bottom:8px;font-size:14px}.search-controls{display:flex;align-items:center;gap:12px}.search-controls input{min-width:0;flex:1;font:inherit;padding:12px 16px;border:1px solid var(--rule);background:var(--paper);color:var(--ink);border-radius:0}.search-controls button{font:inherit;padding:12px 24px;background:var(--ink);color:var(--paper);border:1px solid var(--ink);white-space:nowrap}.search-controls input:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.search-controls button:hover{opacity:.85}.archive-year{margin:40px 0}.archive-year>h2{font-size:30px;font-weight:500}.archive-month{margin:28px 0}.archive-month h3{font-size:18px;font-weight:500;color:var(--muted)}.archive-month ul{list-style:none;margin:0;padding:0}.archive-month li{display:flex;align-items:baseline;gap:24px;padding:16px 0;border-bottom:1px solid var(--rule)}.archive-month time{font-size:14px;color:var(--muted);white-space:nowrap}.code-tools{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 16px;border-bottom:1px solid var(--rule);font-size:13px;color:var(--muted)}.code-tools button{border:0;background:none;padding:4px;color:var(--ink);font-size:13px;white-space:nowrap}.copy-status{margin-left:auto;font-size:12px}.code-block{margin-block:24px;min-width:0}.prose .code-block pre{margin:0}.code-block pre:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.prose .code-block pre code{background:none}@media(max-width:500px){.archive-month li{align-items:start;flex-direction:column;gap:4px}.search-controls button{padding-inline:16px}.code-tools{gap:8px}}
:root{--paper:oklch(98% .004 100);--ink:oklch(27% .015 250);--muted:oklch(48% .018 250);--rule:oklch(85% .008 250);--focus:oklch(47% .08 250);--surface:oklch(94% .008 250)}.blog main{max-width:1000px}.blog h1{font-family:var(--font-body);font-size:clamp(32px,4vw,44px);font-weight:600}.taxonomy{display:flex;align-items:center;flex-wrap:wrap;gap:24px;border-bottom:1px solid var(--rule);padding-bottom:20px;margin-bottom:12px}.taxonomy a{font-size:14px;white-space:nowrap}.post-card{padding:28px 0;border-bottom:1px solid var(--rule)}.post-card h2{font-size:25px;font-weight:500;margin:12px 0}.post-card h2 a{text-decoration:none}.post-card h2 a:hover{text-decoration:underline}.post-card p{font-size:16px;color:var(--muted);max-width:65ch;margin:0 0 16px}.meta{font-size:13px;color:var(--muted)}.tags{display:flex;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--muted)}.reading{max-width:68ch;margin:auto}.reading>a{font-size:14px}.article-head{margin-top:32px}.article-head h1{font-size:clamp(28px,3vw,40px);line-height:1.5}.lede{color:var(--muted);font-size:17px}.toc{border-block:1px solid var(--rule);padding:16px 0;margin:32px 0;font-size:14px}.toc summary{cursor:pointer}.toc nav{display:flex;flex-direction:column;align-items:start;gap:8px;margin-top:16px}.toc .level-3{padding-left:16px}.toc .level-4{padding-left:32px}.prose{font-size:17px;line-height:1.95;overflow-wrap:anywhere}.prose h2,.prose h3,.prose h4{scroll-margin-top:24px;margin-top:40px;font-weight:600}.prose h2{font-size:26px}.prose h3{font-size:22px}.prose h4{font-size:19px}.prose p{margin:20px 0}.prose pre{padding:20px;background:var(--surface);overflow:auto;line-height:1.7;white-space:pre;font-size:14px}.prose code{font-family:Consolas,'Courier New',monospace;background:var(--surface);padding:2px 4px}.prose pre code{padding:0}.prose blockquote{border-left:2px solid var(--rule);margin:24px 0;padding-left:24px;color:var(--muted)}@media(max-width:650px){.taxonomy{gap:20px}.post-card h2{font-size:23px}.prose{font-size:16px}.article-head h1{font-size:30px}.toc{margin-block:24px}}
