.blog-page{min-height:100dvh;color:var(--on-surface)}.blog-main{max-width:1080px;margin:0 auto;padding:4rem 1.25rem 6rem}.blog-header{text-align:center;margin-bottom:3rem}.blog-header h1{letter-spacing:-.02em;margin:0 0 .75rem;font-size:clamp(2rem,4.5vw,2.75rem);font-weight:800}.blog-lede{color:var(--on-surface-variant);max-width:640px;margin:0 auto;font-size:1.0625rem;line-height:1.6}.blog-card-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem;margin:0;padding:0;list-style:none;display:grid}.blog-card a{background:var(--surface-container-low);border:1px solid var(--ghost-border);color:inherit;border-radius:.875rem;padding:1.5rem;text-decoration:none;transition:transform .18s,border-color .18s;display:block}.blog-card a:hover{border-color:var(--primary);transform:translateY(-2px)}.blog-card h2{color:var(--on-surface);margin:0 0 .5rem;font-size:1.125rem;font-weight:700}.blog-card-meta{color:var(--on-surface-variant);font-size:.8125rem;font-family:var(--font-mono);margin:0 0 .625rem}.blog-card p:last-of-type{color:var(--on-surface-variant);margin:0;font-size:.9375rem;line-height:1.55}.blog-post-main{max-width:720px;margin:0 auto;padding:3rem 1.25rem 6rem}.blog-post-back{margin:0 0 2rem}.blog-post-back a{color:var(--on-surface-variant);font-size:.875rem;text-decoration:none}.blog-post-back a:hover{color:var(--primary)}.blog-post-header{margin-bottom:3rem}.blog-post-header h1{letter-spacing:-.02em;margin:0 0 .875rem;font-size:clamp(1.875rem,4vw,2.5rem);font-weight:800;line-height:1.15}.blog-post-meta{color:var(--on-surface-variant);font-size:.875rem;font-family:var(--font-mono);margin:0}.blog-post-body{color:var(--on-surface);font-size:1.0625rem;line-height:1.7}.blog-post-body h2{letter-spacing:-.01em;margin:2.5rem 0 1rem;font-size:1.5rem;font-weight:700}.blog-post-body h3{margin:2rem 0 .75rem;font-size:1.1875rem;font-weight:700}.blog-post-body p{margin:0 0 1.25rem}.blog-post-body ul,.blog-post-body ol{margin:0 0 1.25rem;padding-left:1.5rem}.blog-post-body li{margin-bottom:.5rem}.blog-post-body strong{color:var(--on-surface);font-weight:700}.blog-post-body blockquote{border-left:3px solid var(--primary);background:var(--surface-container-low);color:var(--on-surface-variant);margin:1.5rem 0;padding:.75rem 1.25rem;font-style:italic}.blog-post-body code{font-family:var(--font-mono);background:var(--surface-container);border-radius:.25rem;padding:.125rem .375rem;font-size:.9em}.blog-post-body pre{background:var(--surface-container);border-radius:.5rem;margin:1.5rem 0;padding:1rem 1.25rem;font-size:.875rem;overflow-x:auto}.blog-post-body pre code{background:0 0;padding:0}.blog-post-body table{border-collapse:collapse;width:100%;margin:1.5rem 0;font-size:.9375rem}.blog-post-body th,.blog-post-body td{text-align:left;border-bottom:1px solid var(--ghost-border);padding:.625rem .875rem}.blog-post-body th{background:var(--surface-container);font-weight:600}.blog-post-cta{background:var(--surface-container);text-align:center;border-radius:1rem;margin-top:4rem;padding:2rem}.blog-post-cta h2{margin:0 0 .5rem;font-size:1.375rem;font-weight:700}.blog-post-cta p{color:var(--on-surface-variant);margin:0 0 1.25rem;font-size:.9375rem}.blog-post-cta-button{background:var(--primary);color:var(--on-primary);border-radius:.5rem;padding:.75rem 1.5rem;font-weight:600;text-decoration:none;transition:opacity .18s;display:inline-block}.blog-post-cta-button:hover{opacity:.9}
