.site-footer{padding-block:var(--space-7) var(--space-5);background:var(--bg-well);border-block-start:1px solid var(--line);margin-block-start:var(--space-6)}.footer-inner{justify-content:space-between;align-items:flex-start;gap:var(--space-5);flex-wrap:wrap;padding-block-end:var(--space-6);display:flex}.footer-word{letter-spacing:-.02em;color:var(--text);padding-inline-end:.5rem;font-size:1.2rem;font-weight:700;position:relative}.footer-tagline{font-size:var(--fs-sm);max-width:34ch;margin-block-start:var(--space-3)}.footer-side{align-items:flex-end;gap:var(--space-4);flex-direction:column;display:flex}.footer-socials{gap:var(--space-3);display:flex}.footer-base{justify-content:space-between;gap:var(--space-3);border-block-start:1px solid var(--line);font-size:var(--fs-mono);color:var(--text-faint);flex-wrap:wrap;padding-block-start:var(--space-5);display:flex}@media (width<=560px){.footer-side{align-items:flex-start}}.blog-head{max-width:var(--container-narrow)}.blog-head .lead{margin-top:var(--space-3)}.post-list{gap:var(--space-4);margin-top:var(--space-7);display:grid}@media (width>=720px){.post-list{grid-template-columns:repeat(2,1fr)}}.post-card{gap:var(--space-3);padding:var(--space-5);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);transition:border-color var(--dur) var(--ease-out), transform var(--dur) var(--ease-out);flex-direction:column;display:flex}.post-card:hover{border-color:var(--primary-line);transform:translateY(-3px)}.post-card-meta{gap:var(--space-2);color:var(--text-faint);font-family:var(--font-mono);font-size:var(--fs-mono);flex-wrap:wrap;align-items:center;display:flex}.post-card-meta .dot{background:currentColor;border-radius:50%;width:3px;height:3px}.post-card-title{font-size:var(--fs-h3);letter-spacing:-.01em;margin:0;font-weight:700;line-height:1.15}.post-card-title a{color:var(--text);text-decoration:none}.post-card-title a:after{content:"";position:absolute;inset:0}.post-card{position:relative}.post-card-excerpt{color:var(--text-muted);margin:0;line-height:1.6}.post-tags{gap:var(--space-2);flex-wrap:wrap;margin-top:auto;display:flex}.post-tag{border:1px solid var(--line);border-radius:var(--r-pill);color:var(--text-faint);font-family:var(--font-mono);font-size:var(--fs-mono);padding:.25rem .6rem}.blog-empty{margin-top:var(--space-7);padding:var(--space-6);border:1px dashed var(--line-strong);border-radius:var(--r-lg);color:var(--text-muted);text-align:center}.post{max-width:var(--container-narrow);margin-inline:auto}.post-header{margin-bottom:var(--space-6)}.post-header h1{margin:var(--space-3) 0 0;font-size:var(--fs-h2);letter-spacing:-.02em;text-wrap:balance;font-weight:800;line-height:1.05}.post-header .post-card-meta{margin-top:var(--space-4)}.post-cover{width:100%;height:auto;margin:var(--space-5) 0 0;border-radius:var(--r-lg);border:1px solid var(--line)}.post-body{color:var(--text);font-size:var(--fs-lg);line-height:1.75}.post-body>*+*{margin-top:var(--space-4)}.post-body h2{margin-top:var(--space-6);font-size:var(--fs-h3);letter-spacing:-.01em;font-weight:700}.post-body h3{margin-top:var(--space-5);font-size:var(--fs-lg);font-weight:700}.post-body a{color:var(--primary);text-underline-offset:3px}.post-body ul,.post-body ol{padding-inline-start:1.4rem}.post-body li+li{margin-top:var(--space-2)}.post-body blockquote{border-inline-start:3px solid var(--primary-line);color:var(--text-muted);margin-inline:0;padding-inline-start:var(--space-4);font-style:italic}.post-body img{border-radius:var(--r-md);max-width:100%;height:auto}.post-body :not(pre)>code{border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--line);font-family:var(--font-mono);padding:.15em .4em;font-size:.88em}.post-body pre{margin-top:var(--space-4);padding:var(--space-4);border-radius:var(--r-md);border:1px solid var(--line);text-align:left;font-size:var(--fs-sm);direction:ltr;unicode-bidi:isolate;line-height:1.6;overflow-x:auto}.post-body pre code{font-family:var(--font-mono)}.post-footer{margin-top:var(--space-7);padding-top:var(--space-5);border-top:1px solid var(--line);gap:var(--space-3);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}[dir=rtl] .post-body{text-align:right}
