.blog-page{min-height:100vh;max-width:860px;margin:0 auto;padding:64px 32px 96px;color:var(--text-primary);font-size:var(--text-base);line-height:1.65}.blog-header{margin-bottom:56px;border-bottom:1px solid var(--border);padding-bottom:32px}.blog-wordmark{display:inline-block;font-size:var(--text-2xl);font-weight:var(--weight-bold);color:var(--text-primary);text-decoration:none;letter-spacing:-.01em}.blog-wordmark:hover{color:var(--accent)}.blog-tagline{margin-top:8px;color:var(--text-secondary);font-size:var(--text-lg)}.blog-nav{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:32px}.blog-header .blog-nav{margin-bottom:12px}.blog-app-link{color:var(--accent);text-decoration:none;font-size:var(--text-sm);font-weight:var(--weight-semibold);white-space:nowrap;transition:color var(--transition-fast)}.blog-app-link:hover,.blog-app-link:focus-visible{color:var(--accent-hover)}.blog-app-link:focus-visible{outline:2px solid var(--border-focus);outline-offset:4px;border-radius:var(--radius-xs)}.blog-back-link{color:var(--text-secondary);text-decoration:none;font-size:var(--text-sm);transition:color var(--transition-fast)}.blog-back-link:hover,.blog-back-link:focus-visible{color:var(--accent)}.blog-back-link:focus-visible{outline:2px solid var(--border-focus);outline-offset:4px;border-radius:var(--radius-xs)}.blog-empty{color:var(--text-muted);text-align:center;padding:64px 0}.blog-empty h1{color:var(--text-primary);font-size:var(--text-2xl);margin-bottom:8px}.blog-empty code{background:var(--chip-bg);padding:2px 6px;border-radius:var(--radius-xs);font-size:.9em}.blog-grid{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.blog-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-surface);transition:border-color var(--transition-fast),transform var(--transition-fast),background var(--transition-fast)}.blog-card:hover{border-color:var(--accent);background:var(--bg-elevated);transform:translateY(-2px)}.blog-card-link{display:block;padding:24px;color:inherit;text-decoration:none;height:100%}.blog-card-link:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px;border-radius:var(--radius-lg)}.blog-card-date{display:block;font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px}.blog-card-title{font-size:var(--text-xl);font-weight:var(--weight-semibold);color:var(--text-primary);line-height:1.3;margin-bottom:12px}.blog-card-excerpt{color:var(--text-secondary);font-size:var(--text-sm);line-height:1.55}.blog-card-tags{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}.blog-card-tags li{background:var(--chip-bg);color:var(--text-secondary);font-size:var(--text-2xs);padding:3px 8px;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.04em}.blog-article-header{margin-bottom:40px;padding-bottom:32px;border-bottom:1px solid var(--border)}.blog-article-date{display:block;font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px}.blog-article-title{font-size:var(--text-5xl);font-weight:var(--weight-extrabold);color:var(--text-primary);line-height:1.15;letter-spacing:-.02em;margin-bottom:16px}.blog-article-byline{color:var(--text-secondary);font-size:var(--text-sm)}.blog-prose{color:var(--text-primary);font-size:var(--text-lg);line-height:1.75}.blog-prose>*+*{margin-top:1.25em}.blog-prose h2{font-size:var(--text-2xl);font-weight:var(--weight-semibold);margin-top:2em;letter-spacing:-.01em}.blog-prose h3{font-size:var(--text-xl);font-weight:var(--weight-semibold);margin-top:1.75em}.blog-prose p{color:var(--text-primary)}.blog-prose a{color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.blog-prose a:hover{color:var(--accent-hover)}.blog-prose ul,.blog-prose ol{padding-left:1.5em}.blog-prose li{margin-top:.4em}.blog-prose code{background:var(--chip-bg);padding:2px 6px;border-radius:var(--radius-xs);font-size:.9em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.blog-prose pre{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px;overflow-x:auto;font-size:var(--text-sm)}.blog-prose pre code{background:transparent;padding:0}.blog-prose blockquote{border-left:3px solid var(--accent);padding-left:16px;color:var(--text-secondary);font-style:italic}.blog-prose img{max-width:100%;height:auto;border-radius:var(--radius-md);border:1px solid var(--border)}.blog-prose hr{border:0;border-top:1px solid var(--border);margin:2em 0}@media(max-width:640px){.blog-page{padding:32px 20px 64px}.blog-article-title{font-size:var(--text-2xl)}.blog-prose{font-size:var(--text-base)}}@media(prefers-reduced-motion:reduce){.blog-card,.blog-back-link,.blog-app-link{transition:none}.blog-card:hover{transform:none}}
