.blog-post{max-width:720px;margin:0 auto;padding:120px 24px 80px}.back-link{font-family:var(--font-mono),monospace;color:var(--text-dim);margin-bottom:32px;font-size:.8rem;transition:color .2s;display:inline-block}.back-link:hover{color:var(--text)}.blog-post-title{color:var(--text);letter-spacing:-.02em;margin-bottom:16px;font-size:clamp(2rem,5vw,3rem);font-weight:700;line-height:1.15}.blog-post-meta{border-bottom:1px solid var(--border);align-items:center;gap:16px;margin-bottom:48px;padding-bottom:32px;display:flex}.blog-post-meta time{font-family:var(--font-mono),monospace;color:var(--text-dim);font-size:.8rem}.blog-post-meta .project-tags{flex-wrap:wrap;gap:8px;display:flex}.blog-post-meta .project-tag{font-family:var(--font-mono),monospace;color:var(--text-dim);background:#ffffff08;border-radius:20px;padding:4px 10px;font-size:.7rem}.blog-post-content{color:var(--text-dim);font-size:1.05rem;line-height:1.8}.blog-post-content h2{color:var(--text);margin-top:48px;margin-bottom:16px;font-size:1.5rem;font-weight:600}.blog-post-content h3{color:var(--text);margin-top:32px;margin-bottom:12px;font-size:1.25rem;font-weight:600}.blog-post-content p{margin-bottom:24px}.blog-post-content a{color:var(--accent-purple);text-underline-offset:3px;text-decoration:underline;transition:opacity .2s}.blog-post-content a:hover{opacity:.7}.blog-post-content blockquote{border-left:3px solid var(--accent-purple);color:var(--text);margin:32px 0;padding-left:20px;font-style:italic}.blog-post-content code{font-family:var(--font-mono),monospace;background:#ffffff0d;border-radius:4px;padding:2px 6px;font-size:.85em}.blog-post-content pre{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);margin:24px 0;padding:20px;overflow-x:auto}.blog-post-content pre code{background:0 0;padding:0;font-size:.85rem;line-height:1.6}.blog-post-content ul,.blog-post-content ol{margin-bottom:24px;padding-left:24px}.blog-post-content li{margin-bottom:8px}.blog-post-content strong{color:var(--text);font-weight:600}.blog-post-content em{color:var(--text)}.blog-post-content hr{border:none;border-top:1px solid var(--border);margin:48px 0}@media (max-width:480px){.blog-post{padding:100px 16px 60px}}
