*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--bg: #FAFAF9;--text: #1C1C1C;--muted: #7A7A7A;--border: #E5E5E3;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--max-width: 620px;--space-xs: .5rem;--space-sm: 1rem;--space-md: 2rem;--space-lg: 4rem;--space-xl: 6rem}@media(prefers-color-scheme:dark){:root{--bg: #141413;--text: #E5E5E3;--muted: #8A8A8A;--border: #2A2A28}}html{font-size:17px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);background:var(--bg);color:var(--text);line-height:1.7;padding:var(--space-lg) var(--space-md);max-width:var(--max-width);margin:0 auto}h1{font-size:1.6rem;font-weight:600;letter-spacing:-.02em;line-height:1.2;margin-bottom:var(--space-xs)}h2{font-size:.85rem;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-top:var(--space-lg);margin-bottom:var(--space-sm)}h3{font-size:1.1rem;font-weight:600;letter-spacing:-.01em;margin-bottom:var(--space-xs)}p{margin-bottom:var(--space-sm)}a{color:var(--text);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;transition:opacity .15s}a:hover{opacity:.6}.bio{color:var(--muted);font-size:1rem;line-height:1.6;margin-bottom:var(--space-md)}.bio a{color:var(--muted)}.social{display:flex;flex-wrap:wrap;gap:var(--space-xs) var(--space-sm);margin-bottom:var(--space-lg);font-size:.9rem}.social a{color:var(--muted);text-decoration:none}.social a:hover{color:var(--text);opacity:1}.post-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-xs)}.post-item{display:flex;align-items:baseline;gap:var(--space-sm)}.post-item time{font-size:.82rem;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;min-width:5.5rem}.post-item a{font-size:1rem;text-decoration:none}.post-item a:hover{text-decoration:underline;text-underline-offset:3px}.view-all{display:inline-block;margin-top:var(--space-sm);font-size:.9rem;color:var(--muted)}.post-header{margin-bottom:var(--space-md)}.post-header time{font-size:.85rem;color:var(--muted)}.post-header h1{margin-top:var(--space-xs)}.post-content{line-height:1.8}.post-content h2{text-transform:none;letter-spacing:-.01em;font-size:1.2rem;font-weight:600;color:var(--text);margin-top:var(--space-md);margin-bottom:var(--space-sm)}.post-content h3{font-size:1.05rem;margin-top:var(--space-md)}.post-content blockquote{border-left:2px solid var(--border);padding-left:var(--space-sm);color:var(--muted);margin:var(--space-md) 0}.post-content code{font-size:.9em;background:var(--border);padding:.15em .35em;border-radius:3px}.post-content pre{background:var(--border);padding:var(--space-sm);border-radius:6px;overflow-x:auto;margin:var(--space-md) 0}.post-content pre code{background:none;padding:0}.post-content img{max-width:100%;height:auto;border-radius:4px;margin:var(--space-md) 0}.back-link{display:inline-block;margin-bottom:var(--space-md);font-size:.9rem;color:var(--muted);text-decoration:none}.back-link:hover{color:var(--text)}footer{margin-top:var(--space-xl);padding-top:var(--space-md);border-top:1px solid var(--border);font-size:.82rem;color:var(--muted)}@media(max-width:480px){body{padding:var(--space-md) var(--space-sm)}.post-item{flex-direction:column;gap:0}.post-item time{min-width:unset}}.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-sm);margin-bottom:var(--space-md)}.main-nav{display:flex;flex-wrap:wrap;gap:.25rem var(--space-sm);font-size:.9rem}.main-nav a{color:var(--muted);text-decoration:none;white-space:nowrap}.main-nav a:hover,.main-nav a[aria-current]{color:var(--text);opacity:1}.lang-switch{display:flex;flex-shrink:0;margin-left:auto;gap:.5rem;font-size:.8rem;letter-spacing:.08em;color:var(--muted)}.lang-switch a{color:var(--muted);text-decoration:none}.lang-switch a:hover{color:var(--text);opacity:1}.lang-switch .current{color:var(--text);font-weight:600}.project-list{display:flex;flex-direction:column;margin-top:var(--space-md)}.project{padding:var(--space-md) 0;border-top:1px solid var(--border)}.project:last-child{border-bottom:1px solid var(--border)}.project-meta{font-size:.82rem;color:var(--muted);margin-bottom:var(--space-sm)}.project-body p:last-child{margin-bottom:0}.project-links{display:flex;flex-wrap:wrap;gap:var(--space-xs) var(--space-sm);margin:var(--space-sm) 0 0;font-size:.9rem}footer a{color:var(--muted)}.get-resource{margin-top:var(--space-sm)}.get-resource summary{cursor:pointer;font-size:.9rem;text-decoration:underline;text-underline-offset:3px}.subscribe{display:flex;flex-direction:column;gap:var(--space-xs);margin-top:var(--space-sm);max-width:420px}.subscribe label{font-size:.85rem;color:var(--muted)}.subscribe input[type=email]{font:inherit;font-size:.95rem;padding:.55rem .7rem;border:1px solid var(--border);border-radius:4px;background:var(--bg);color:var(--text)}.subscribe input[type=email]:focus-visible{outline:2px solid var(--text);outline-offset:1px}.subscribe .consent{display:flex;gap:.6rem;align-items:flex-start;line-height:1.5}.subscribe .consent input{margin-top:.3rem}.subscribe .consent a{color:var(--muted)}.subscribe button{align-self:flex-start;font:inherit;font-size:.9rem;background:var(--text);color:var(--bg);border:0;border-radius:4px;padding:.55rem 1rem;cursor:pointer}.subscribe button:disabled{opacity:.6;cursor:default}.subscribe .trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.form-status{font-size:.9rem;min-height:1.4em;margin:0}.subscribe.done>:not(.form-status){display:none}.muted{color:var(--muted);font-size:.9rem}.legal h2{text-transform:none;letter-spacing:-.01em;font-size:1.1rem;font-weight:600;color:var(--text);margin-top:var(--space-md)}.legal ul{margin:0 0 var(--space-sm) 1.2rem}
