.blog-card[data-astro-cid-fkyubztb]{position:relative;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card, 20px);overflow:hidden;text-decoration:none;color:inherit;transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition)}.blog-card[data-astro-cid-fkyubztb]:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--dim-color, var(--accent));z-index:1}.blog-card[data-astro-cid-fkyubztb]:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--dim-color, var(--border))}.blog-card__visual[data-astro-cid-fkyubztb]{flex-shrink:0}.blog-card__body[data-astro-cid-fkyubztb]{display:flex;flex-direction:column;flex:1;padding:16px 20px 20px;gap:6px}.blog-card__badges[data-astro-cid-fkyubztb]{display:flex;gap:8px;flex-wrap:wrap}.blog-card__type[data-astro-cid-fkyubztb]{font-size:var(--fs-2xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:var(--bg);padding:2px 8px;border-radius:4px;line-height:1.6}.blog-card__series[data-astro-cid-fkyubztb]{font-size:var(--fs-2xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent);padding:2px 8px;border-radius:4px;line-height:1.6}.blog-card__new[data-astro-cid-fkyubztb]{font-size:var(--fs-2xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#fff;background:var(--accent);padding:2px 8px;border-radius:4px;line-height:1.6}.blog-card__dim[data-astro-cid-fkyubztb]{font-size:var(--fs-2xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--dim-color, var(--muted));background:var(--dim-tint, var(--surface));padding:2px 8px;border-radius:4px;line-height:1.6}.blog-card__title[data-astro-cid-fkyubztb]{font-size:var(--fs-md);font-weight:650;line-height:1.35;color:var(--text);margin:2px 0 0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.blog-card--featured[data-astro-cid-fkyubztb] .blog-card__title[data-astro-cid-fkyubztb]{font-size:var(--fs-lg)}.blog-card__desc[data-astro-cid-fkyubztb]{font-size:var(--fs-caption);line-height:1.5;color:var(--text2);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.blog-card__meta[data-astro-cid-fkyubztb]{display:flex;align-items:center;gap:12px;margin-top:auto;padding-top:12px;border-top:1px solid var(--border);font-size:var(--fs-sm);color:var(--muted)}.blog-card__reading-time[data-astro-cid-fkyubztb]{font-size:var(--fs-xs);background:var(--bg);padding:2px 8px;border-radius:4px}@media(min-width:768px){.blog-card--featured[data-astro-cid-fkyubztb]{flex-direction:row}.blog-card--featured[data-astro-cid-fkyubztb] .blog-card__visual[data-astro-cid-fkyubztb]{width:50%;min-height:100%}.blog-card--featured[data-astro-cid-fkyubztb] .blog-card__visual[data-astro-cid-fkyubztb] .blog-visual{height:100%;aspect-ratio:auto;border-radius:0}.blog-card--featured[data-astro-cid-fkyubztb] .blog-card__visual[data-astro-cid-fkyubztb] .blog-visual svg{height:100%}.blog-card--featured[data-astro-cid-fkyubztb] .blog-card__body[data-astro-cid-fkyubztb]{width:50%;padding:24px;gap:8px}.blog-card--featured[data-astro-cid-fkyubztb] .blog-card__title[data-astro-cid-fkyubztb]{font-size:var(--fs-xl)}.blog-card--featured[data-astro-cid-fkyubztb] .blog-card__desc[data-astro-cid-fkyubztb]{-webkit-line-clamp:3}}.pattern-sig[data-astro-cid-zjwyiotr]{display:block;width:100%;height:auto;overflow:visible}.pattern-sig__edge[data-astro-cid-zjwyiotr]{stroke:var(--border);stroke-width:1.5;stroke-linecap:round}.pattern-sig__edge[data-astro-cid-zjwyiotr].is-hot{stroke:var(--accent);stroke-width:2.5}.pattern-sig__glow[data-astro-cid-zjwyiotr]{fill:var(--accent);opacity:.12}.pattern-sig__node[data-astro-cid-zjwyiotr]{fill:var(--surface);stroke:var(--muted);stroke-width:1.5}.pattern-sig__node[data-astro-cid-zjwyiotr].is-critical{fill:var(--accent);stroke:var(--accent)}.pattern-sig__node[data-astro-cid-zjwyiotr].is-tension{fill:var(--surface);stroke:var(--accent);stroke-width:2}
