.blog{--bg:#faf8f3;--bg-subtle:#f3efe6;--bg-muted:#ebe6da;--surface:#ffffff;--border:#ddd5c4;--border-strong:#c8bfa9;--fg:#1f1d18;--fg-muted:#5a544a;--fg-subtle:#6b6560;--accent:oklch(56% 0.18 255);--accent-fg:#ffffff;--accent-soft:oklch(96% 0.03 255);--accent-border:oklch(88% 0.07 255);--radius:10px;--radius-sm:6px;--radius-lg:14px;--shadow-sm:0 1px 2px rgba(9,9,11,.04),0 1px 3px rgba(9,9,11,.06);--shadow-md:0 4px 12px rgba(9,9,11,.05),0 2px 4px rgba(9,9,11,.04);--shadow-lg:0 24px 48px -12px rgba(9,9,11,.10),0 8px 16px -8px rgba(9,9,11,.06);--maxw:1080px;--pad-x:clamp(20px,4vw,48px);--font-sans:var(--font-inter-tight,"Inter Tight","Inter",system-ui,sans-serif);--font-mono:var(--font-jetbrains,"JetBrains Mono","SF Mono",ui-monospace,monospace)}.blog[data-theme=dark]{--bg:#0a0a0c;--bg-subtle:#0f0f12;--bg-muted:#18181b;--surface:#0f0f12;--border:#232328;--border-strong:#2e2e34;--fg:#fafafa;--fg-muted:#a1a1aa;--fg-subtle:#71717a;--accent-soft:oklch(28% 0.06 255);--accent-border:oklch(38% 0.10 255);--shadow-sm:0 1px 2px rgba(0,0,0,.3);--shadow-md:0 4px 12px rgba(0,0,0,.4);--shadow-lg:0 24px 48px -12px rgba(0,0,0,.5)}.blog *,.blog :after,.blog :before{box-sizing:border-box;margin:0;padding:0}.blog{font-family:var(--font-sans);background:var(--bg);color:var(--fg);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh}.blog a{color:inherit;text-decoration:none}.blog img,.blog svg{display:block;max-width:100%}.blog .container{max-width:var(--maxw);margin:0 auto;padding-inline:var(--pad-x)}.blog .blog-header{padding-top:clamp(48px,6vw,80px);padding-bottom:clamp(40px,5vw,64px);border-bottom:1px solid var(--border);background:radial-gradient(ellipse 70% 80% at 15% 110%,oklch(56% .18 255/.06) 0,transparent 60%),radial-gradient(ellipse 50% 60% at 85% -20%,oklch(56% .18 255/.04) 0,transparent 60%),var(--bg-subtle)}.blog .blog-header-inner{max-width:var(--maxw);margin:0 auto;padding-inline:var(--pad-x)}.blog .blog-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;font-family:var(--font-mono);color:var(--accent);margin-bottom:20px;padding:5px 12px;background:var(--accent-soft);border:1px solid var(--accent-border);border-radius:999px}.blog .blog-title{font-family:var(--font-sans);font-size:clamp(32px,4vw,52px);font-weight:700;letter-spacing:-.035em;line-height:1.05;color:var(--fg);margin-bottom:16px}.blog .blog-subtitle{font-size:clamp(15px,1.2vw,18px);color:var(--fg-muted);max-width:520px;line-height:1.6}.blog .blog-content{padding-block:clamp(40px,5vw,64px)}.blog .blog-layout{max-width:var(--maxw);margin:0 auto;padding-inline:var(--pad-x)}.blog .category-filter{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:clamp(28px,3vw,40px);padding-bottom:20px;border-bottom:1px solid var(--border)}.blog .category-pill{display:inline-flex;align-items:center;padding:6px 14px;border-radius:999px;font-size:13px;font-weight:500;font-family:var(--font-sans);border:1px solid var(--border);background:var(--bg);color:var(--fg-muted);cursor:pointer;transition:all .15s ease;white-space:nowrap;text-decoration:none}.blog .category-pill:hover{background:var(--bg-subtle);border-color:var(--border-strong);color:var(--fg)}.blog .category-pill--active{background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent);font-weight:600}.blog .category-pill--active:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.blog .article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:clamp(40px,5vw,64px)}@media (max-width:1024px){.blog .article-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.blog .article-grid{grid-template-columns:1fr;gap:20px}}.blog .article-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;text-decoration:none;color:inherit}.blog .article-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);transform:translateY(-2px)}.blog .article-card-image{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--bg-subtle);flex-shrink:0}.blog .article-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.blog .article-card:hover .article-card-image img{transform:scale(1.03)}.blog .article-card-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--bg-subtle);color:var(--fg-subtle);font-size:32px}.blog .article-card-body{display:flex;flex-direction:column;flex:1;padding:20px;gap:10px}.blog .article-card-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.blog .article-category-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:600;font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;background:var(--accent-soft);border:1px solid var(--accent-border);color:var(--accent);text-decoration:none;transition:background .15s ease}.blog .article-category-badge:hover{background:oklch(93% .05 255)}.blog .article-date{font-size:12px;color:var(--fg-subtle);font-family:var(--font-mono);white-space:nowrap}.blog .article-card-title{font-family:var(--font-sans);font-size:17px;font-weight:600;letter-spacing:-.02em;line-height:1.3;color:var(--fg);margin:0;-webkit-line-clamp:2}.blog .article-card-excerpt,.blog .article-card-title{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.blog .article-card-excerpt{font-size:14px;color:var(--fg-muted);line-height:1.55;-webkit-line-clamp:3;flex:1}.blog .article-card-footer{margin-top:4px;padding-top:12px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:flex-end}.blog .article-card-read{font-size:13px;font-weight:500;color:var(--accent);display:inline-flex;align-items:center;gap:4px;transition:gap .15s ease}.blog .article-card:hover .article-card-read{gap:8px}.blog .blog-empty{flex-direction:column;text-align:center;padding:clamp(80px,10vw,120px) var(--pad-x);gap:12px}.blog .blog-empty,.blog .blog-empty-icon{display:flex;align-items:center;justify-content:center}.blog .blog-empty-icon{width:64px;height:64px;border-radius:16px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);font-size:26px;margin-bottom:12px}.blog .blog-empty-title{font-size:18px;font-weight:600;letter-spacing:-.02em;color:var(--fg)}.blog .blog-empty-text{font-size:15px;color:var(--fg-muted);max-width:340px;line-height:1.55}.blog .pagination{display:flex;padding-top:clamp(24px,3vw,40px);border-top:1px solid var(--border);flex-wrap:wrap}.blog .pagination,.blog .pagination-btn{align-items:center;justify-content:center;gap:4px}.blog .pagination-btn{display:inline-flex;min-width:38px;height:38px;padding:0 10px;border-radius:var(--radius-sm);font-size:14px;font-weight:500;font-family:var(--font-sans);border:1px solid var(--border);background:var(--bg);color:var(--fg-muted);cursor:pointer;transition:all .15s ease;text-decoration:none;white-space:nowrap}.blog .pagination-btn:hover{background:var(--bg-subtle);border-color:var(--border-strong);color:var(--fg)}.blog .pagination-btn--active{background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent);font-weight:600}.blog .pagination-btn--active:hover{background:var(--accent-soft);border-color:var(--accent)}.blog .pagination-btn--disabled{opacity:.4;pointer-events:none;cursor:default}.blog .pagination-ellipsis{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;font-size:14px;color:var(--fg-subtle);cursor:default}.blog .breadcrumb{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--fg-subtle);flex-wrap:wrap;margin-bottom:20px}.blog .breadcrumb a{color:var(--fg-subtle);text-decoration:none;transition:color .15s ease}.blog .breadcrumb a:hover{color:var(--fg)}.blog .breadcrumb-sep{color:var(--border-strong);font-size:16px}.blog .article-detail{max-width:800px;margin:0 auto;padding-inline:var(--pad-x);padding-block:clamp(40px,5vw,64px)}.blog .article-detail-header{margin-bottom:clamp(28px,3vw,40px)}.blog .article-detail-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:20px;margin-top:16px}.blog .article-detail-date{font-size:13px;color:var(--fg-subtle);font-family:var(--font-mono)}.blog .article-detail-title{font-family:var(--font-sans);font-size:clamp(24px,3.5vw,38px);font-weight:600;letter-spacing:-.03em;line-height:1.2;color:var(--fg);margin:0}.blog .article-cover{position:relative;width:100%;border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:16/9;background:var(--bg-subtle);margin-bottom:clamp(28px,3vw,40px)}.blog .article-cover img{width:100%;height:100%;object-fit:cover}.blog .blog-prose{font-family:var(--font-sans);font-size:clamp(15px,1.1vw,17px);line-height:1.75;color:var(--fg)}.blog .blog-prose>*+*{margin-top:1.25em}.blog .blog-prose h1,.blog .blog-prose h2,.blog .blog-prose h3,.blog .blog-prose h4,.blog .blog-prose h5,.blog .blog-prose h6{font-family:var(--font-sans);font-weight:600;letter-spacing:-.02em;line-height:1.3;color:var(--fg);margin-top:2em;margin-bottom:.5em}.blog .blog-prose h1{font-size:1.75em}.blog .blog-prose h2{font-size:1.4em}.blog .blog-prose h3{font-size:1.2em}.blog .blog-prose h4{font-size:1.05em}.blog .blog-prose h5,.blog .blog-prose h6{font-size:1em}.blog .blog-prose p{margin:0}.blog .blog-prose a{color:var(--accent);text-decoration:underline;text-underline-offset:3px;transition:opacity .15s ease}.blog .blog-prose a:hover{opacity:.75}.blog .blog-prose strong{font-weight:700}.blog .blog-prose em{font-style:italic}.blog .blog-prose ol,.blog .blog-prose ul{padding-left:1.6em}.blog .blog-prose ul{list-style:disc}.blog .blog-prose ol{list-style:decimal}.blog .blog-prose li+li{margin-top:.35em}.blog .blog-prose li>p{margin:0}.blog .blog-prose blockquote{border-left:3px solid var(--accent);padding:12px 20px;margin-left:0;background:var(--accent-soft);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--fg-muted);font-style:italic}.blog .blog-prose blockquote p{margin:0}.blog .blog-prose code{background:var(--bg-muted);border:1px solid var(--border);border-radius:var(--radius-sm);padding:2px 6px;font-family:var(--font-mono);font-size:.875em;color:var(--fg)}.blog .blog-prose pre{background:var(--bg-muted);border:1px solid var(--border);border-radius:var(--radius);padding:16px 20px;overflow-x:auto;line-height:1.6}.blog .blog-prose pre code{background:none;border:none;padding:0;font-size:.875em}.blog .blog-prose table{width:100%;border-collapse:collapse;font-size:.9em;overflow-x:auto;display:block}.blog .blog-prose thead{background:var(--bg-subtle)}.blog .blog-prose td,.blog .blog-prose th{padding:8px 14px;border:1px solid var(--border);text-align:left}.blog .blog-prose th{font-weight:600;color:var(--fg)}.blog .blog-prose td{color:var(--fg-muted)}.blog .blog-prose hr{border:none;border-top:1px solid var(--border);margin-block:2em}.blog .blog-prose img{width:100%;height:auto;border-radius:var(--radius);border:1px solid var(--border);display:block}.blog .article-page-header{border-bottom:1px solid var(--border);padding-top:clamp(32px,4vw,56px);padding-bottom:clamp(24px,3vw,40px);background:var(--bg-subtle)}.blog .article-page-header-inner{max-width:var(--maxw);margin:0 auto;padding-inline:var(--pad-x)}@media (min-width:641px){.blog .article-grid:not(.article-grid--list)>.article-card:first-child{grid-column:1/-1;flex-direction:row}.blog .article-grid:not(.article-grid--list)>.article-card:first-child .article-card-image{flex:0 0 48%;aspect-ratio:unset;min-height:260px}.blog .article-grid:not(.article-grid--list)>.article-card:first-child .article-card-body{padding:32px 28px;justify-content:center}.blog .article-grid:not(.article-grid--list)>.article-card:first-child .article-card-title{font-size:clamp(20px,2vw,26px);-webkit-line-clamp:3}.blog .article-grid:not(.article-grid--list)>.article-card:first-child .article-card-excerpt{-webkit-line-clamp:4;font-size:15px}}.blog .article-grid--list{grid-template-columns:1fr}@media (min-width:641px){.blog .article-grid--list .article-card{flex-direction:row}.blog .article-grid--list .article-card .article-card-image{flex:0 0 40%;aspect-ratio:unset;min-height:220px}.blog .article-grid--list .article-card .article-card-body{padding:28px 24px;justify-content:center}.blog .article-grid--list .article-card .article-card-title{font-size:clamp(18px,1.8vw,22px);-webkit-line-clamp:3}.blog .article-grid--list .article-card .article-card-excerpt{-webkit-line-clamp:4;font-size:15px}}.blog .related-articles{border-top:1px solid var(--border);padding-top:clamp(40px,5vw,64px);margin-top:clamp(40px,5vw,64px)}.blog .related-articles-title{font-family:var(--font-sans);font-size:clamp(18px,2vw,22px);font-weight:600;letter-spacing:-.02em;color:var(--fg);margin-bottom:clamp(20px,2.5vw,28px)}.blog .related-articles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}@media (max-width:1024px){.blog .related-articles-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.blog .related-articles-grid{grid-template-columns:1fr}}.blog main{padding-bottom:clamp(64px,8vw,96px)}