.blog-index[data-astro-cid-5tznm7mj]{padding:4rem 0 6rem}.blog-header[data-astro-cid-5tznm7mj]{max-width:56ch;margin-bottom:3rem}.blog-eyebrow[data-astro-cid-5tznm7mj]{font-family:var(--font-mono);font-size:var(--fs-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--acid);margin-bottom:.6rem}.blog-header[data-astro-cid-5tznm7mj] h1[data-astro-cid-5tznm7mj]{font-size:clamp(2.4rem,5vw,4rem);line-height:1;margin-bottom:1rem}.blog-lead[data-astro-cid-5tznm7mj]{color:var(--text-mid);font-size:1.05rem;line-height:1.65}.blog-controls[data-astro-cid-5tznm7mj]{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;align-items:center}.search-wrap[data-astro-cid-5tznm7mj]{position:relative;flex:1 1 220px;max-width:360px}#blogSearch[data-astro-cid-5tznm7mj]{width:100%;padding:.6rem 1rem .6rem 2.4rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text);font-family:var(--font-mono);font-size:var(--fs-mono);outline:none;transition:border-color .15s}#blogSearch[data-astro-cid-5tznm7mj]::placeholder{color:var(--text-soft)}#blogSearch[data-astro-cid-5tznm7mj]:focus{border-color:#d4e84766}.search-icon[data-astro-cid-5tznm7mj]{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--text-soft);pointer-events:none}.filter-bar[data-astro-cid-5tznm7mj]{display:flex;flex-wrap:wrap;gap:.4rem}.filter-btn[data-astro-cid-5tznm7mj]{font-family:var(--font-mono);font-size:var(--fs-mono);font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:.4rem .85rem;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--text-soft);cursor:pointer;transition:color .15s,background .15s,border-color .15s}.filter-btn[data-astro-cid-5tznm7mj]:hover,.filter-btn[data-astro-cid-5tznm7mj].active{background:var(--cat-bg, rgba(212,232,71,.1));border-color:var(--cat-border, rgba(212,232,71,.35));color:var(--cat-text, var(--acid))}.filter-btn[data-astro-cid-5tznm7mj][data-filter=all].active{background:#d4e8471a;border-color:#d4e84759;color:var(--acid)}.results-count[data-astro-cid-5tznm7mj]{font-family:var(--font-mono);font-size:var(--fs-mono);color:var(--text-soft);margin-bottom:1.5rem}.post-grid[data-astro-cid-5tznm7mj]{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.25rem}.post-card[data-astro-cid-5tznm7mj]{display:flex}.card-link[data-astro-cid-5tznm7mj]{display:flex;flex-direction:column;gap:.75rem;padding:1.5rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:inherit;text-decoration:none;transition:border-color .2s,background .2s;width:100%}.card-link[data-astro-cid-5tznm7mj]:hover{border-color:#d4e84740;background:var(--surface-2)}.card-link[data-astro-cid-5tznm7mj]:visited{color:inherit}.card-category[data-astro-cid-5tznm7mj]{display:inline-block;align-self:flex-start;font-family:var(--font-mono);font-size:var(--fs-mono);font-weight:600;text-transform:uppercase;letter-spacing:.08em;padding:.25rem .65rem;border-radius:999px;border:1px solid}.card-title[data-astro-cid-5tznm7mj]{font-family:var(--font-display);font-size:clamp(1.1rem,2.2vw,1.4rem);line-height:1.15;color:var(--text);flex:1}.card-desc[data-astro-cid-5tznm7mj]{font-size:.9rem;color:var(--text-mid);line-height:1.6}.card-footer[data-astro-cid-5tznm7mj]{display:flex;flex-direction:column;gap:.5rem;margin-top:auto;padding-top:.75rem;border-top:1px solid var(--line)}.card-footer[data-astro-cid-5tznm7mj] time[data-astro-cid-5tznm7mj]{font-family:var(--font-mono);font-size:var(--fs-mono);color:var(--text-soft)}.card-tags[data-astro-cid-5tznm7mj]{display:flex;flex-wrap:wrap;gap:.3rem}.card-tag[data-astro-cid-5tznm7mj]{font-family:var(--font-mono);font-size:.65rem;color:var(--text-soft);background:var(--bg-3);border:1px solid var(--line);padding:.15rem .45rem;border-radius:5px}.no-results[data-astro-cid-5tznm7mj]{text-align:center;color:var(--text-soft);font-family:var(--font-mono);font-size:.9rem;padding:3rem 0}.sr-only[data-astro-cid-5tznm7mj]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}
