.blog-card-cover{aspect-ratio:16/9;border-bottom:1px solid var(--surface-border);position:relative;overflow:hidden}.blog-card-image{object-fit:cover;width:100%;height:100%;transition:transform .35s cubic-bezier(.22,1,.36,1)}.log-card:hover .blog-card-image{transform:scale(1.03)}.blog-post-cover{border:1px solid var(--surface-border);border-radius:.75rem;overflow:hidden}.blog-post-cover-image{width:100%;height:auto;display:block}.blog-prose{max-width:48rem;color:var(--text-main);margin-top:2rem;font-size:1.0625rem;line-height:1.75}.blog-prose>:first-child{margin-top:0}.blog-prose-h2{font-family:var(--font-fira-code),monospace;color:var(--text-main);letter-spacing:-.01em;border-bottom:1px solid var(--surface-border);margin-top:3rem;margin-bottom:1rem;padding-bottom:.625rem;scroll-margin-top:5rem;font-size:1.5rem;font-weight:600;line-height:1.35}.blog-prose-h2:first-child{margin-top:0}.blog-prose-h3{font-family:var(--font-fira-code),monospace;color:var(--accent);margin-top:2rem;margin-bottom:.75rem;scroll-margin-top:5rem;font-size:1.125rem;font-weight:600;line-height:1.4}.blog-prose-h4{font-family:var(--font-fira-code),monospace;color:var(--text-soft);margin-top:1.5rem;margin-bottom:.5rem;font-size:.9375rem;font-weight:600}.blog-prose-p{color:var(--text-soft);margin-top:0;margin-bottom:1.25rem}.blog-prose-p:last-child{margin-bottom:0}.blog-prose-ul,.blog-prose-ol{margin-top:.5rem;margin-bottom:1.5rem;padding-left:1.5rem}.blog-prose-ul{list-style-type:disc}.blog-prose-ol{list-style-type:decimal}.blog-prose-li{color:var(--text-soft);margin-bottom:.625rem;padding-left:.25rem;line-height:1.65}.blog-prose-li::marker{color:var(--accent)}.blog-prose-li>.blog-prose-p{margin-bottom:.5rem}.blog-prose-strong{color:var(--text-main);font-weight:600}.blog-prose-em{color:var(--text-soft);font-style:italic}.blog-prose-link{color:var(--accent);text-underline-offset:3px;-webkit-text-decoration:underline #22d3ee59;text-decoration:underline #22d3ee59}.blog-prose-link:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.blog-prose-blockquote{border-left:3px solid var(--accent);background:var(--accent-soft);color:var(--text-soft);border-radius:0 .5rem .5rem 0;margin:1.75rem 0;padding:1rem 1.25rem;font-style:italic}.blog-prose-blockquote>.blog-prose-p:last-child{margin-bottom:0}.blog-prose-hr{border:none;border-top:1px solid var(--surface-border);margin:2.5rem 0}.blog-prose-figure{border:1px solid var(--surface-border);background:var(--bg-section);border-radius:.75rem;margin:2rem 0;overflow:hidden}.blog-prose-image{width:100%;height:auto;display:block}.blog-prose-caption{font-family:var(--font-fira-code),monospace;color:var(--text-muted);text-align:center;border-top:1px solid var(--surface-border);padding:.75rem 1rem;font-size:.8125rem}.blog-prose-pre{border:1px solid var(--surface-border);background:var(--bg-code);border-radius:.625rem;margin:1.5rem 0;padding:1.25rem;font-size:.875rem;line-height:1.6;overflow-x:auto}.blog-prose-code-block{font-family:var(--font-fira-code),monospace;color:#e2e8f0;background:0 0}.blog-prose-code-inline{font-family:var(--font-fira-code),monospace;background:var(--surface);border:1px solid var(--surface-border);color:var(--accent);border-radius:.25rem;padding:.15em .4em;font-size:.875em}.blog-prose-table-wrap{border:1px solid var(--surface-border);border-radius:.625rem;margin:1.75rem 0;overflow-x:auto}.blog-prose-table{border-collapse:collapse;width:100%;font-size:.9375rem}.blog-prose-thead{background:var(--surface)}.blog-prose-th,.blog-prose-td{text-align:left;border-bottom:1px solid var(--surface-border);padding:.75rem 1rem}.blog-prose-th{font-family:var(--font-fira-code),monospace;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.8125rem;font-weight:600}.blog-prose-td{color:var(--text-soft)}.blog-prose-tr:last-child .blog-prose-td{border-bottom:none}@media (max-width:640px){.blog-prose{font-size:1rem}.blog-prose-h2{margin-top:2.25rem;font-size:1.3125rem}.blog-prose-h3{font-size:1.0625rem}}.log-card{transition:transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s,border-color .25s;position:relative}.log-card:hover{transform:translateY(-.375rem);box-shadow:0 14px 34px #0208141f;border-color:var(--accent)!important}.dark .log-card:hover{box-shadow:0 14px 34px #0006}.log-card .log-open-hint{opacity:0;color:var(--accent);font-size:.75rem;font-family:var(--font-fira-code),monospace;transition:opacity .2s,transform .2s;transform:translate(-.25rem)}.log-card:hover .log-open-hint{opacity:1;transform:translate(0)}@media (prefers-reduced-motion:reduce){.log-card,.log-card:hover,.log-card:hover .blog-card-image{transform:none}}.tag-flag{font-family:var(--font-fira-code),monospace;color:var(--accent);font-size:.75rem}.tag-flag:before{content:"--tag=";color:var(--text-muted)}.category-flag{font-family:var(--font-fira-code),monospace;border:1px solid var(--surface-border);background:var(--surface);border-radius:.25rem;padding:.25rem .625rem;font-size:.8125rem;transition:border-color .18s,background .18s,transform .18s}.category-flag:hover{border-color:var(--accent);background:var(--accent-soft);transform:translateY(-1px)}.category-flag:before{content:"--tag=";color:var(--text-muted)}.blog-toc{border:1px solid var(--surface-border);background:var(--surface);border-radius:.625rem;max-width:48rem;margin-top:2rem;padding:1rem 1.25rem}.blog-toc-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 .75rem;font-size:.75rem}.blog-toc-list{margin:0;padding:0;list-style:none}.blog-toc-item{margin-bottom:.375rem}.blog-toc-item-nested{padding-left:1rem}.blog-toc-link{font-family:var(--font-fira-code),monospace;color:var(--text-soft);font-size:.875rem;text-decoration:none}.blog-toc-link:hover{color:var(--accent);text-underline-offset:3px;text-decoration:underline}
