.blog-theme{--blog-bg:var(--background);--blog-surface:var(--surface);--blog-surface-elevated:var(--surface-elevated);--blog-text:var(--foreground);--blog-accent:var(--accent-primary);--blog-muted:var(--muted-foreground);--blog-border:var(--border-strong);--blog-code-bg:color-mix(in srgb,var(--surface-elevated) 84%,var(--accent-secondary) 16%);--blog-link:color-mix(in srgb,var(--accent-primary) 78%,var(--foreground) 22%);--blog-radius:1.75rem;background:radial-gradient(900px 460px at 14% -8%,rgb(232 139 109/.12),transparent 60%),radial-gradient(760px 420px at 88% 0,rgb(141 174 154/.1),transparent 58%),var(--blog-bg);color:var(--blog-text);min-height:100%}.blog-page{padding:2.5rem 1rem 4rem}.blog-container{max-width:920px;margin:0 auto}.blog-breadcrumbs{margin-bottom:1.25rem}.blog-hero{margin-bottom:2.5rem;padding:1.5rem;border:1px solid var(--blog-border);border-radius:var(--blog-radius);background:var(--blog-surface-elevated);box-shadow:0 20px 60px -36px rgba(32,26,22,.35)}.blog-eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.7rem;color:var(--blog-muted)}.blog-title{font-size:clamp(2rem,7vw,2.8rem);margin:.5rem 0;line-height:1.05}.blog-subtitle{color:var(--blog-muted);margin:0;max-width:40rem}.blog-list{display:grid;gap:1.5rem}.blog-card{border:1px solid var(--blog-border);border-radius:var(--blog-radius);padding:1.25rem;background:var(--blog-surface);transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease,background-color .2s ease}.blog-card:hover{border-color:var(--blog-accent);transform:translateY(-2px);background:var(--blog-surface-elevated);box-shadow:0 18px 48px -28px rgba(32,26,22,.4)}.blog-card-link{text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:.75rem}.blog-card-meta{color:var(--blog-muted);font-size:.85rem;display:flex;gap:.5rem;align-items:center}.blog-card-title{font-size:1.4rem;margin:0}.blog-card-excerpt{color:var(--blog-muted);margin:0}.blog-empty{color:var(--blog-muted);padding:3rem 1rem;text-align:center;border:1px dashed var(--blog-border);border-radius:var(--blog-radius);background:var(--blog-surface-elevated)}.blog-tags{display:flex;gap:.5rem;flex-wrap:wrap}.blog-tag{background:var(--blog-code-bg);padding:.28rem .7rem;border-radius:999px;font-size:.75rem;color:var(--blog-muted);border:1px solid color-mix(in srgb,var(--blog-border) 70%,transparent)}.blog-post{max-width:860px;margin:0 auto;padding:2.5rem 1rem 4rem}.blog-post.blog-post-breadcrumb-shell{padding-bottom:0}.blog-post.blog-post-shell{padding-top:0}.blog-post-header{margin-bottom:2rem;padding:1.5rem;border:1px solid var(--blog-border);border-radius:var(--blog-radius);background:var(--blog-surface-elevated)}.blog-post-meta{color:var(--blog-muted);display:flex;gap:.5rem;align-items:center;font-size:.9rem}.blog-post-title{font-size:clamp(2.15rem,7vw,3rem);margin:.75rem 0;line-height:1.05}.blog-post-excerpt{color:var(--blog-muted);font-size:1.1rem}.blog-cover{margin:2rem 0;border-radius:var(--blog-radius);overflow:hidden;border:1px solid var(--blog-border);background:var(--blog-surface-elevated)}.blog-cover img{width:100%;display:block}.blog-prose{line-height:1.75;font-size:1.05rem;color:var(--blog-text)}.blog-prose p{margin:0}.blog-prose ol+p,.blog-prose p+ol,.blog-prose p+p,.blog-prose p+ul,.blog-prose ul+p{margin-top:1rem}.blog-prose h1,.blog-prose h2,.blog-prose h3,.blog-prose h4,.blog-prose h5,.blog-prose h6{margin-top:2rem;margin-bottom:1rem;font-weight:700;line-height:1.2;color:var(--blog-text)}.blog-prose h2{font-size:clamp(1.6rem,4vw,2rem)}.blog-prose h3{font-size:clamp(1.3rem,3vw,1.55rem)}.blog-prose h4{font-size:1.15rem}.blog-prose ol,.blog-prose ul{margin:1rem 0;padding-left:1.5rem}.blog-prose ul{list-style:disc}.blog-prose ol{list-style:decimal}.blog-prose li+li{margin-top:.35rem}.blog-prose a{color:var(--blog-link)}.blog-prose code{background:var(--blog-code-bg);padding:.1rem .3rem;border-radius:6px}.blog-prose pre{background:var(--blog-code-bg);padding:1rem;border-radius:var(--blog-radius);overflow-x:auto}@media (min-width:640px){.blog-page,.blog-post{padding:4rem 1.5rem}.blog-hero,.blog-post-header{padding:2rem}.blog-card{padding:1.5rem}}