.blog{padding-top:calc(var(--nav-height) + var(--space-4xl));padding-bottom:var(--space-4xl)}.blog__container{max-width:720px;margin-inline:auto;padding-inline:var(--space-lg)}.blog__header{margin-bottom:var(--space-3xl)}.blog__title{font-family:var(--font-display);font-size:var(--text-h1);color:var(--color-text);line-height:1.2;margin-bottom:var(--space-md);text-wrap:balance}.blog__meta{display:flex;align-items:center;gap:var(--space-md);font-family:var(--font-mono);font-size:var(--text-small);color:var(--color-text-muted);letter-spacing:0.04em}.blog__meta-sep{color:var(--color-border)}.blog__body{display:flex;flex-direction:column;gap:var(--space-md)}.blog__body h2{font-family:var(--font-display);font-size:var(--text-h2);color:var(--color-text);line-height:1.3;margin-top:var(--space-xl);text-wrap:balance}.blog__body h3{font-family:var(--font-body);font-size:var(--text-h3);font-weight:600;color:var(--color-text);margin-top:var(--space-lg);text-wrap:balance}.blog__body p{font-size:var(--text-body);color:var(--color-text-secondary);line-height:1.75;text-wrap:pretty}.blog__body a{color:var(--color-primary);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px;transition:color var(--transition-short)}.blog__body a:hover{color:var(--color-primary-light)}.blog__body strong{color:var(--color-text);font-weight:600}.blog__body em{font-style:italic}.blog__body ul{list-style:disc;padding-left:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-sm)}.blog__body ol{list-style:decimal;padding-left:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-sm)}.blog__body li{font-size:var(--text-body);color:var(--color-text-secondary);line-height:1.7}.blog__body li::marker{color:var(--color-primary)}.blog__body blockquote{padding-left:var(--space-lg);border-left:3px solid var(--color-accent);font-style:italic}.blog__body blockquote p{color:var(--color-text-secondary)}.blog__body code{font-family:var(--font-mono);font-size:0.875em;background:var(--color-surface);color:var(--color-text);padding:2px 6px;border-radius:var(--radius-sm);border:1px solid var(--color-border)}.blog__body pre{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg);overflow-x:auto;-webkit-overflow-scrolling:touch}.blog__body pre code{background:none;padding:0;border:none;border-radius:0;font-size:var(--text-small);line-height:1.6;color:var(--color-text)}.blog__body hr{border:none;border-top:1px solid var(--color-border);margin:var(--space-xl) 0}.blog__body img{border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.blog__cta{margin-top:var(--space-3xl);padding-top:var(--space-2xl);border-top:1px solid var(--color-border);text-align:center}.blog__cta-text{font-size:var(--text-body);color:var(--color-text-secondary);margin-bottom:var(--space-lg);line-height:1.6;text-wrap:balance}.blog__author{margin-top:var(--space-2xl);font-size:var(--text-small);color:var(--color-text-muted);font-style:italic}.blog-index{padding-top:calc(var(--nav-height) + var(--space-4xl));padding-bottom:var(--space-4xl)}.blog-index__container{max-width:720px;margin-inline:auto;padding-inline:var(--space-lg)}.blog-index__header{margin-bottom:var(--space-3xl)}.blog-index__title{font-family:var(--font-display);font-size:var(--text-h1);color:var(--color-text);line-height:1.2;margin-bottom:var(--space-sm)}.blog-index__subtitle{font-size:var(--text-hero-sub);color:var(--color-text-secondary);line-height:1.5}.blog-index__list{display:flex;flex-direction:column;gap:var(--space-xs)}.blog-index__post{display:block;padding:var(--space-xl);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:transform var(--transition-short),box-shadow var(--transition-short),border-color var(--transition-short)}.blog-index__post:hover{transform:translateY(-2px);box-shadow:var(--shadow-card-hover);border-color:var(--color-primary)}.blog-index__post-title{font-family:var(--font-display);font-size:var(--text-h2);color:var(--color-text);line-height:1.3;margin-bottom:var(--space-sm)}.blog-index__post-meta{font-family:var(--font-mono);font-size:var(--text-label);color:var(--color-text-muted);letter-spacing:0.04em;margin-bottom:var(--space-sm)}.blog-index__post-desc{font-size:var(--text-body);color:var(--color-text-secondary);line-height:1.6}@media (max-width:768px){.blog__title{font-size:clamp(1.5rem,5vw,2rem)}.blog__meta{flex-wrap:wrap;gap:var(--space-sm)}.blog__body pre{padding:var(--space-md);border-radius:var(--radius-md)}.blog-index__post{padding:var(--space-lg)}.blog-index__post-title{font-size:var(--text-h3)}}