.single-article{margin-bottom:var(--space-3xl)}.single-article p{color:var(--color-text);margin-top:.8rem;margin-bottom:2rem;font-size:1.12rem;line-height:1.75}.single-article p a{color:var(--color-link);transition:color var(--duration-fast) ease;text-underline-offset:3px;font-weight:500;text-decoration:underline 1px}.single-article p a:hover{color:var(--color-link-hover);text-decoration-color:var(--color-link-hover)}.single-article h2{font-family:var(--font-display);margin-top:var(--space-2xl);margin-bottom:var(--space-md);letter-spacing:-.005em;color:var(--color-dark);font-size:clamp(1.5rem,3vw,2rem)}.single-article h3{font-family:var(--font-serif);margin-top:var(--space-xl);margin-bottom:var(--space-sm);letter-spacing:0;color:var(--color-dark);font-size:clamp(1.25rem,2.5vw,1.5rem)}.hero-image{margin-top:var(--space-xl);margin-bottom:var(--space-2xl);width:100%}.hero-image img{border-radius:var(--radius-md);width:100%;height:auto;display:block}.single-article figure{margin-top:var(--space-xl);margin-bottom:var(--space-xl)}.single-article figure img{border-radius:var(--radius-md);width:100%;margin-bottom:var(--space-sm);height:auto}.single-article figure figcaption{font-family:var(--font-serif);color:var(--color-text-muted);margin-top:var(--space-xs);font-size:1rem;font-style:italic}.single-article figure.screenshot-shadow img{border:1px solid var(--color-border)}.single-article .wp-block-gallery img{border-radius:0}@media (width>=1025px){.single-article .img-breakout{max-width:820px;margin-left:-100px;margin-right:-100px;display:block}.wrapper--article{max-width:1200px}.wrapper--article .img-breakout{max-width:none;margin-left:0;margin-right:0}}.single-article .wp-block-embed{justify-content:center!important}.single-article ul,.single-article ol{margin-bottom:2rem;margin-top:var(--space-md);color:var(--color-text);padding-left:2.5rem;font-size:1.12rem;line-height:1.75}.single-article li{margin-bottom:var(--space-sm)}.single-article li strong{color:var(--color-dark);font-weight:600}.single-article blockquote{margin:var(--space-xl) 0;padding:var(--space-lg) var(--space-xl);border-left:3px solid var(--color-accent);background-color:var(--color-bg-alt);font-family:var(--font-serif);color:var(--color-text);border-radius:0;font-style:italic}.single-article blockquote p{margin-bottom:0;font-size:1.1rem}.single-article code{font-family:var(--font-mono);background-color:var(--color-bg-alt);border-radius:var(--radius-sm);color:var(--color-accent);padding:.15em .4em;font-size:.88em;font-weight:500}.single-article pre{font-family:var(--font-mono);background-color:var(--color-ink);color:#e6e2d8;padding:var(--space-lg);border-radius:var(--radius-md);margin:var(--space-xl) 0;border:1px solid #ffffff0d;font-size:.9rem;line-height:1.6;overflow-x:auto}.single-article pre code{color:inherit;background:0 0;border-radius:0;padding:0;font-weight:400}.maincontent .intro h1{font-family:var(--font-display);letter-spacing:-.015em;margin-bottom:var(--space-md);font-size:clamp(2rem,4.6vw,3.2rem);font-weight:400;line-height:1.1}.maincontent .intro .italic{font-family:var(--font-mono);color:var(--color-text-muted);padding-top:var(--space-sm);border-top:1px solid var(--color-rule);font-size:.8rem;font-style:normal}.maincontent .intro .italic .author-link{color:inherit;text-underline-offset:3px;transition:color var(--duration-fast) ease;text-decoration:underline 1px}.maincontent .intro .italic .author-link:hover{color:var(--color-accent)}.single-article hr{background:var(--color-rule);height:1px;margin:var(--space-2xl) 0;border:none}.post-tags{align-items:baseline;gap:var(--space-md);padding-top:var(--space-lg);border-top:1px solid var(--color-rule);margin-bottom:var(--space-3xl);display:flex}.post-tags__label{font-family:var(--font-mono);color:var(--color-text-muted);white-space:nowrap;font-size:.8rem}.post-tags__list{font-family:var(--font-mono);flex-wrap:wrap;gap:.25rem 0;font-size:.85rem;display:flex}.post-tags__pill{color:var(--color-accent);text-underline-offset:3px;transition:color var(--duration-fast) ease;text-decoration:underline 1px}.post-tags__pill:not(:last-child):after{content:"/";color:var(--color-text-muted);opacity:.5;margin:0 .6rem;text-decoration:none;display:inline-block}.post-tags__pill:hover{color:var(--color-dark)}
