.blog-body{--blog-accent: var(--accent-color);min-height:100vh;background:var(--bg-primary);color:var(--text-secondary);font-family:var(--font-sans)}.blog-layout{display:grid;grid-template-columns:168px minmax(0,1fr) 160px;column-gap:32px;width:min(100% - 80px,1160px);margin-inline:auto;min-height:calc(100vh - 120px)}.blog-left,.blog-right{position:sticky;top:0;align-self:start;max-height:100vh;overflow-y:auto;padding-block:40px;display:flex;flex-direction:column;gap:32px;scrollbar-width:thin}.blog-main{min-width:0;padding-bottom:40px}.blog-main>article{width:100%;max-width:70ch;margin-inline:auto}.blog-skip-link{position:fixed;top:12px;left:24px;z-index:100;padding:10px 16px;background:var(--text-primary);color:var(--bg-primary);transform:translateY(-180%)}.blog-skip-link:focus{transform:none}.blog-body a:focus-visible,.blog-body button:focus-visible{outline:2px solid var(--blog-accent);outline-offset:4px}.blog-sidebar-profile{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.blog-sidebar-avatar{width:48px;height:48px;margin-bottom:4px;object-fit:contain}.blog-sidebar-title{color:var(--text-primary);font-size:18px;font-weight:600;line-height:1.35;letter-spacing:-.025em}.blog-sidebar-subtitle{font-size:12px;color:var(--text-tertiary);line-height:1.65}.blog-sidebar-nav{display:flex;flex-direction:column;gap:3px}.blog-sidebar-nav a{display:flex;align-items:center;gap:10px;min-height:40px;padding:6px 0;color:var(--text-tertiary);font-size:14px;transition:color .2s}.blog-sidebar-nav a:hover,.blog-sidebar-nav a.active{color:var(--blog-accent)}.blog-sidebar-nav a.active{font-weight:600}.blog-sidebar-nav svg{width:17px;height:17px;flex-shrink:0}.blog-sidebar-section-title,.blog-widget-title{margin-bottom:14px;color:var(--text-tertiary);font:400 11px/1.5 var(--font-mono);letter-spacing:.06em;text-transform:uppercase}.blog-sidebar-recent a{display:block;padding-block:9px;color:var(--text-secondary);font-size:12px;line-height:1.6;overflow-wrap:anywhere;transition:color .2s}.blog-sidebar-recent a+a{border-top:1px solid var(--border-secondary)}.blog-sidebar-recent a:hover,.blog-sidebar-social a:hover{color:var(--blog-accent)}.blog-sidebar-social{display:flex;align-items:center;gap:12px}.blog-sidebar-social a{display:inline-flex;align-items:center;justify-content:center;width:32px;height:36px;color:var(--text-tertiary);transition:color .2s}.blog-topnav{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:80px;margin-bottom:36px;border-bottom:1px solid var(--border-primary);background:var(--header-bg);backdrop-filter:blur(16px)}.blog-breadcrumb,.blog-controls{display:flex;align-items:center;gap:16px}.blog-breadcrumb{color:var(--text-tertiary);font-size:13px}.blog-breadcrumb span{color:var(--text-muted)}.blog-breadcrumb a:hover,.blog-language:hover,.blog-topnav-home:hover{color:var(--blog-accent)}.blog-language{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding-inline:4px;color:var(--text-secondary);font:400 12px/1.5 var(--font-mono)}.blog-mobile-header{display:none}.blog-topnav-home{display:inline-flex;align-items:center;gap:8px;min-height:40px;color:var(--text-secondary);font-size:14px}.blog-intro{padding-block:8px 32px;border-bottom:1px solid var(--border-primary)}.blog-intro-label{color:var(--text-tertiary);font:400 11px/1.7 var(--font-mono);letter-spacing:.03em}.blog-intro h1,.blog-main>div>h1{margin-top:12px;color:var(--text-primary);font-size:clamp(28px,3vw,40px);font-weight:600;line-height:1.2;letter-spacing:-.045em;overflow-wrap:anywhere}.post-card{display:grid;align-items:start;gap:24px;padding-block:32px;border-bottom:1px solid var(--border-primary)}.post-card-with-cover{grid-template-columns:minmax(0,1fr) minmax(120px,28%)}.post-card-cover{grid-column:2;grid-row:1;overflow:hidden;margin-top:3px;aspect-ratio:2 / 1;border-radius:4px;background:var(--bg-secondary)}.post-card-cover img{width:100%;height:100%;object-fit:cover;transition:transform .25s}.post-card:hover .post-card-cover img{transform:scale(1.025)}.post-card-plain{grid-column:1;grid-row:1;min-width:0}.post-card-meta,.article-meta{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 14px;color:var(--text-tertiary);font:400 11px/1.7 var(--font-mono)}.post-card-category{color:var(--blog-accent);font-family:var(--font-mono);font-size:11px;font-weight:500;line-height:1.7}.post-card-title{margin-block:12px 10px;color:var(--text-primary);font-size:clamp(20px,2vw,24px);font-weight:600;line-height:1.4;letter-spacing:-.025em;overflow-wrap:anywhere;transition:color .2s}.post-card:hover .post-card-title{color:var(--blog-accent)}.post-card-excerpt{color:var(--text-secondary);font-size:14px;line-height:1.75;overflow-wrap:anywhere}.post-card-tags{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:16px;color:var(--text-tertiary);font:400 10px/1.7 var(--font-mono)}.tag-cloud{display:flex;flex-wrap:wrap;gap:8px 12px}.tag-item{display:inline-flex;align-items:baseline;gap:6px;padding-block:3px;border-bottom:1px solid var(--border-primary);color:var(--text-secondary);font-size:12px;line-height:1.7;overflow-wrap:anywhere;transition:color .2s,border-color .2s}.tag-item:hover,.tag-item.active{color:var(--blog-accent);border-color:var(--blog-accent)}.archive-year{margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid var(--border-primary);color:var(--text-primary);font:500 24px/1.4 var(--font-mono)}.archive-month{margin-block:28px 12px;color:var(--text-tertiary);font:400 12px/1.5 var(--font-mono)}.archive-item{display:flex;align-items:baseline;gap:20px;padding-block:14px;border-bottom:1px solid var(--border-secondary)}.archive-date{flex-shrink:0;color:var(--text-tertiary);font:400 12px/1.6 var(--font-mono);font-variant-numeric:tabular-nums}.archive-title{color:var(--text-primary);font-size:15px;line-height:1.6;overflow-wrap:anywhere;transition:color .2s}.archive-item:hover .archive-title{color:var(--blog-accent)}.category-list-item{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding-block:20px;border-bottom:1px solid var(--border-primary)}.category-list-name{color:var(--text-primary);font-size:18px;font-weight:500;overflow-wrap:anywhere;transition:color .2s}.category-list-item:hover .category-list-name{color:var(--blog-accent)}.category-list-count{flex-shrink:0;color:var(--text-tertiary);font:400 12px/1.6 var(--font-mono)}.article-header{margin-bottom:36px;padding-bottom:28px;border-bottom:1px solid var(--border-primary)}.article-header>div:has(>img){border-radius:4px}.article-title{color:var(--text-primary);font-size:clamp(28px,3vw,40px);font-weight:600;line-height:1.25;letter-spacing:-.035em;overflow-wrap:anywhere}.article-meta{margin-top:20px}.article-tags{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:16px}.article-back{display:inline-flex;align-items:center;gap:8px;padding-block:10px;color:var(--blog-accent);font-size:13px}.article-back:hover{text-decoration:underline}.blog-main>article>div:last-child{border-color:var(--border-primary)}.blog-main .prose{max-width:70ch;font-size:16px;line-height:1.85;overflow-wrap:anywhere}.blog-main .prose h1,.blog-main .prose h2,.blog-main .prose h3{font-weight:600;letter-spacing:-.025em}.blog-main .prose a{color:var(--blog-accent)}.blog-main .prose blockquote{border-color:var(--blog-accent);font-style:normal;font-weight:400}.blog-main .prose pre{max-width:100%;border:1px solid var(--border-primary);border-radius:4px;font-size:13px;overflow-wrap:normal}.blog-main .prose table{display:block;overflow-x:auto;max-width:100%}.blog-widget+.blog-widget{padding-top:24px;border-top:1px solid var(--border-primary)}.blog-widget-stat{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-block:6px;color:var(--text-tertiary);font-size:12px}.blog-widget-stat-value{color:var(--text-primary);font:400 12px/1.6 var(--font-mono)}.blog-pagination{display:flex;align-items:center;justify-content:center;gap:8px;padding-block:32px}.blog-pagination a,.blog-pagination span{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;color:var(--text-tertiary);font:400 13px/1 var(--font-mono)}.blog-pagination a:hover,.blog-pagination .current{color:var(--blog-accent);background:var(--accent-soft)}.blog-footer{width:min(100% - 80px,1160px);margin:40px auto 0;padding-block:24px;border-top:1px solid var(--border-primary);color:var(--text-tertiary);font-size:12px;text-align:center}.blog-footer a{color:var(--blog-accent)}.blog-footer a:hover{text-decoration:underline}@media(max-width:1100px){.blog-layout{grid-template-columns:minmax(0,1fr);max-width:760px}.blog-left,.blog-right,.blog-topnav{display:none}.blog-main{padding-top:36px;scroll-margin-top:110px}.blog-mobile-header{position:sticky;top:0;z-index:30;display:block;padding-inline:40px;border-bottom:1px solid var(--border-primary);background:var(--header-bg);backdrop-filter:blur(16px)}.blog-mobile-toolbar,.blog-mobile-nav{max-width:760px;margin-inline:auto}.blog-mobile-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px}.blog-mobile-nav{display:flex;align-items:center;justify-content:space-between;gap:12px}.blog-mobile-nav a{display:inline-flex;align-items:center;min-height:42px;border-bottom:2px solid transparent;color:var(--text-tertiary);font-size:13px}.blog-mobile-nav a:hover,.blog-mobile-nav a.active{color:var(--blog-accent)}.blog-mobile-nav a.active{border-color:var(--blog-accent)}}@media(max-width:640px){.blog-layout,.blog-footer{width:calc(100% - 48px)}.blog-mobile-header{padding-inline:24px}.blog-main{padding-top:28px}.blog-intro{padding-bottom:24px}.post-card{gap:20px;padding-block:28px}.post-card-with-cover{grid-template-columns:minmax(0,1fr)}.post-card-cover{grid-column:1;grid-row:1;aspect-ratio:2 / 1;margin-top:0}.post-card-with-cover .post-card-plain{grid-row:2}.post-card-title{font-size:22px}.blog-main .prose{font-size:15px}.article-meta{gap:8px 12px}.archive-item{gap:14px}}
