:root{--background:#fff;--foreground:#171717;--muted:#666;--border:#ddd;--surface:#f7f7f4;--accent:#0f766e}*{box-sizing:border-box}html{background:var(--background)}body{background:var(--background);color:var(--foreground);margin:0;font-family:Arial,Helvetica,sans-serif;line-height:1.6}main{width:min(100% - 32px,840px);margin:0 auto;padding:64px 0}header,section,footer{margin-bottom:56px}h1,h2,h3,p,ul{margin:0}h1{max-width:780px;margin-top:8px;font-size:clamp(2.25rem,6vw,4rem);line-height:1.05}h2{text-transform:uppercase;margin-bottom:20px;font-size:1rem}h3{font-size:1.25rem}dl,dd{margin:0}p,time,a{color:var(--muted)}.eyebrow{color:var(--accent);text-transform:uppercase;font-size:.85rem;font-weight:700}header p:not(.eyebrow){max-width:620px;margin-top:20px;font-size:1.125rem}.actions{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.actions a{border:1px solid var(--border);color:var(--foreground);border-radius:999px;padding:8px 14px;font-size:.95rem;text-decoration:none}.actions a:hover{border-color:var(--accent);color:var(--accent)}.list{gap:24px;display:grid}article{border-top:1px solid var(--border);gap:8px;padding-top:24px;display:grid}.work-link{color:inherit;text-decoration:none}.work-link:hover article{border-color:var(--accent)}.work-link:hover h3{color:var(--accent)}.article-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}ul{padding-left:1.15rem}li{color:var(--muted);margin-top:8px}time{flex:none;font-size:.95rem}a{text-underline-offset:4px}.impact,.stack{color:var(--accent);font-weight:700}.stack{color:var(--foreground);font-size:.95rem}.back-link{margin-bottom:32px;display:inline-flex}.skills{flex-wrap:wrap;gap:10px;padding-left:0;list-style:none;display:flex}.skills li{border:1px solid var(--border);background:var(--surface);color:var(--foreground);border-radius:999px;margin-top:0;padding:8px 12px;font-size:.95rem}footer{flex-wrap:wrap;gap:8px 16px;display:flex}.blog-title-link,.blog-list-title a{color:var(--foreground);text-decoration-thickness:1px}.blog-title-link:hover,.blog-list-title a:hover,.blog-prose a{color:var(--accent)}.blog-index-link{margin-top:24px;display:inline-block}.blog-list-title{text-transform:none;margin-bottom:0;font-size:1.5rem;line-height:1.3}.blog-post{max-width:800px}.blog-article{border:0;padding:0;display:block}.blog-header{border-bottom:1px solid var(--border);margin-bottom:36px;padding-bottom:36px}.blog-header h1{overflow-wrap:anywhere;text-wrap:balance;margin-top:16px;font-size:clamp(2.1rem,5.5vw,3.5rem);line-height:1.12}.blog-header .blog-deck{max-width:none;line-height:1.7}.blog-header .blog-byline{font-size:.9rem}.blog-prose{overflow-wrap:anywhere;font-size:1.0625rem;line-height:1.85}.blog-prose p,.blog-prose li{color:var(--foreground)}.blog-prose p,.blog-prose ul,.blog-prose ol,.blog-prose pre,.blog-prose figure,.blog-prose .blog-scroll{margin:0 0 24px}.blog-prose section{margin:52px 0;scroll-margin-top:24px}.blog-prose h2{text-transform:none;text-wrap:pretty;margin-bottom:24px;font-size:clamp(1.5rem,4vw,1.85rem);line-height:1.35}.blog-prose h3{margin:36px 0 16px;line-height:1.4}.blog-prose li{margin-top:10px;padding-left:4px}.blog-contents{border:1px solid var(--border);background:var(--surface);border-radius:8px;margin:36px 0 48px;padding:24px;font-size:.95rem;line-height:1.6}.blog-contents .eyebrow{color:var(--accent);margin-bottom:12px}.blog-contents ol{margin-bottom:0;padding-left:24px}.blog-prose code{background:var(--surface);border-radius:4px;padding:2px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88em}.blog-prose pre{border:1px solid var(--border);background:var(--surface);border-radius:8px;max-width:100%;padding:24px;line-height:1.65;overflow-x:auto}.blog-prose pre code{overflow-wrap:normal;border-radius:0;padding:0;font-size:.8125rem}.blog-scroll{max-width:100%;overflow-x:auto}.blog-prose table{border-collapse:collapse;text-align:left;width:100%;min-width:540px;font-size:.925rem;line-height:1.6}.blog-prose th,.blog-prose td{border-bottom:1px solid var(--border);vertical-align:top;padding:14px 16px}.blog-prose thead{background:var(--surface)}.blog-prose tbody th{width:31%;font-weight:600}.architecture-figure{border:1px solid var(--border);border-radius:8px;padding:16px}.architecture-figure svg{width:100%;min-width:600px;color:var(--accent);display:block}.architecture-figure .blog-scroll{margin-bottom:12px}.architecture-figure text{fill:var(--foreground);font-size:14px}.diagram-node{fill:var(--surface);stroke:var(--border)}.diagram-workspace{fill:#e9f4f1;stroke:var(--accent)}.architecture-figure figcaption{color:var(--muted);font-size:.875rem;line-height:1.6}.blog-footer{border-top:1px solid var(--border);margin-bottom:0;padding-top:24px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:640px){main{padding:40px 0}.article-heading{display:block}time{margin-top:4px;display:block}}
