.blog-tag-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem}.blog-tag-btn{background:none;border:1px solid var(--color-border);color:var(--color-text-muted);font-family:Courier New,monospace;font-size:.78rem;letter-spacing:.03em;padding:.3rem .75rem;border-radius:3px;cursor:pointer;transition:border-color var(--transition-fast),color var(--transition-fast),background-color var(--transition-fast)}@media(hover:hover){.blog-tag-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}}.blog-tag-btn.active{border-color:var(--color-accent);color:var(--color-accent);background-color:color-mix(in srgb,var(--color-accent) 8%,transparent)}.blog-grid{display:flex;flex-direction:column;gap:0;margin-top:1rem}.blog-card{display:block;padding:1.8rem 0;border-bottom:1px solid var(--color-border);text-decoration:none;color:inherit;transition:none}.blog-card:first-child{border-top:1px solid var(--color-border)}.blog-card-inner{display:grid;grid-template-columns:7rem 1fr;gap:1.5rem;align-items:baseline}.blog-card-date{font-size:.85rem;color:var(--color-text-muted);white-space:nowrap;padding-top:.25rem}.blog-card-title{font-size:1.25rem;font-weight:600;color:var(--color-primary);margin:0 0 .4rem;line-height:1.3;transition:color var(--transition-fast)}@media(hover:hover){.blog-card:hover .blog-card-title{color:var(--color-accent)}}.blog-card:active .blog-card-title{color:var(--color-accent)}.blog-card-description{font-size:.95rem;color:var(--color-text-muted);margin:0 0 .6rem;line-height:1.6}.blog-card-tags{display:flex;flex-wrap:wrap;gap:.4rem}@media(max-width:540px){.blog-card-inner{grid-template-columns:1fr;gap:.4rem}}.tag{display:inline-block;font-size:.75rem;padding:.2rem .55rem;border-radius:3px;background-color:var(--color-bg-alt);border:1px solid var(--color-border);color:var(--color-text-muted);font-family:Courier New,monospace;letter-spacing:.03em}.post-header{margin-bottom:3rem;padding-bottom:2rem;border-bottom:2px solid var(--color-border)}.back-link{display:inline-block;font-size:.9rem;color:var(--color-text-muted);text-decoration:none;margin-bottom:1.5rem;transition:color var(--transition-fast)}@media(hover:hover){.back-link:hover{color:var(--color-accent)}}.back-link:active{color:var(--color-accent)}.post-title{font-size:2.2rem;line-height:1.2;margin-bottom:1rem;color:var(--color-primary)}@media(max-width:636px){.post-title{font-size:1.7rem;text-align:left}}.post-meta{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.2rem}.post-meta time{font-size:.88rem;color:var(--color-text-muted)}.post-tags{display:flex;flex-wrap:wrap;gap:.4rem}.post-description{font-size:1.1rem;color:var(--color-text-muted);font-style:italic;line-height:1.6;margin:0;max-width:680px}.post-body{max-width:680px;font-size:1.05rem;line-height:1.8;color:var(--color-text)}.post-body p{margin-bottom:1.4rem}.post-body h2{font-size:1.5rem;margin:2.5rem 0 1rem;color:var(--color-primary);border-bottom:1px solid var(--color-border);padding-bottom:.4rem}.post-body h3{font-size:1.2rem;margin:2rem 0 .75rem;color:var(--color-primary);font-weight:600}.post-body ul,.post-body ol{padding-left:1.5rem;margin-bottom:1.4rem}.post-body li{margin-bottom:.4rem;line-height:1.7}.post-body blockquote{border-left:3px solid var(--color-accent);padding:.4rem 0 .4rem 1.4rem;margin:1.8rem 0;color:var(--color-text-muted);font-style:italic}.post-body blockquote p{margin:0}.post-body code{font-family:Courier New,monospace;font-size:.88em;background-color:var(--color-bg-alt);border:1px solid var(--color-border);padding:.15em .4em;border-radius:3px}.post-body pre{background-color:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:6px;padding:1.2rem;overflow-x:auto;margin-bottom:1.4rem}.post-body pre code{background:none;border:none;padding:0;font-size:.9em}.post-body img{width:100%;border-radius:6px;margin:1.8rem 0 .6rem;display:block}.post-body img+em{display:block;font-size:.85rem;color:var(--color-text-muted);margin-bottom:1.4rem;font-style:italic}.post-body hr{border:none;border-top:1px solid var(--color-border);margin:2.5rem 0}.post-body strong{font-weight:600;color:var(--color-primary)}.post-body em{font-style:italic}.post-body a{color:var(--color-primary);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;font-weight:500}@media(hover:hover){.post-body a:hover{color:var(--color-accent)}}.post-footer{margin-top:3.5rem;padding-top:2rem;border-top:1px solid var(--color-border)}
