.post-card-link,.chip,.pagination a,.blog-subnav a,.recent-updates-feed,.taxonomy-card,.archive-item,.tag-plugin.tabs .tab a{text-decoration:none}.blog-bar{justify-content:space-between;align-items:center;gap:var(--space-3) var(--space-4);min-height:calc(var(--blog-bar-height) + var(--space-4) + 1px);margin-bottom:var(--space-6);padding-bottom:var(--space-4);border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex}.blog-bar .blog-subnav{border-bottom:0;margin-bottom:0;padding-bottom:0}.blog-search-slot{display:contents}.blog-search{flex:0 230px;min-width:0;margin-left:auto;position:relative}.blog-search-form{align-items:center;gap:var(--space-2);height:var(--blog-bar-height);padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius-full);background:var(--surface);color:var(--text-faint);transition:border-color var(--transition);display:flex}.blog-search-form:focus-within{border-color:var(--border-strong)}.blog-search-icon{flex:none;display:inline-flex}.blog-search-input{min-width:0;height:100%;color:var(--text);font-size:var(--font-size-sidebar);background:0 0;border:0;flex:1;padding:0}.blog-search-input:focus{outline:none}.blog-search-input::placeholder{color:var(--text-faint)}.blog-search-results{z-index:40;top:calc(100% + var(--space-2));width:min(360px, calc(100vw - 2 * var(--space-4)));overscroll-behavior:contain;max-height:60vh;padding:var(--space-2);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);margin:0;list-style:none;position:absolute;right:0;overflow-y:auto}.blog-search-command{background:0 0;border-radius:0;overflow:visible}.blog-search-result{color:var(--text);transition:box-shadow var(--transition);justify-content:center;text-decoration:none}.blog-search-result:hover{text-decoration:none}.blog-search.has-selection .blog-search-result[aria-selected=true]{box-shadow:var(--shadow-sm)}.blog-search-result-title{font-size:var(--font-size-sidebar);font-weight:600}.blog-search-result-excerpt{color:var(--text-muted);font-size:var(--font-size-small);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.blog-search-result-excerpt mark{background:var(--mark-bg);color:inherit;border-radius:3px;padding:0 2px}.blog-search-status{color:var(--text-muted);font-size:var(--font-size-small);padding:var(--space-3);text-align:center}@media (max-width:579px){.blog-bar{margin-top:calc(var(--space-4) - (var(--space-16,4rem) + var(--space-2)));min-height:calc(var(--mobile-toggle-size) + var(--space-4) + 1px)}.blog-bar .blog-subnav{display:none}.blog-search{z-index:42;top:var(--space-4);left:calc(var(--space-4) + var(--mobile-toggle-size) + var(--space-3));right:var(--space-4);position:fixed}.blog-search-form{height:var(--mobile-toggle-size);box-shadow:var(--shadow-sm)}}@media (min-width:580px) and (max-width:1119px){.blog-bar{margin-top:calc(var(--space-4) - (var(--space-16,4rem) + var(--space-2)));padding-left:calc(var(--mobile-toggle-size) + var(--space-3));min-height:calc(var(--mobile-toggle-size) + var(--space-4) + 1px)}}.chip{align-items:center;gap:var(--space-1);padding:2px var(--space-3);border-radius:var(--radius-full);background:var(--bg-soft);color:var(--text-muted);font-size:var(--font-size-small);display:inline-flex}.chip:hover{background:var(--surface-hover);color:var(--text);text-decoration:none}.article-header .breadcrumb,.article-header .post-meta{margin-bottom:var(--space-1)}.post-list{gap:var(--space-5);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.post-card{transition:border-color var(--transition), transform var(--transition);overflow:hidden}.post-card:hover{border-color:var(--border-strong)}.post-card-link{color:inherit;display:block}.post-card-link:hover{text-decoration:none}.post-card-cover{aspect-ratio:40/17;object-fit:cover;background:var(--bg-soft);width:100%;display:block}.post-card-body{padding:var(--space-5);gap:var(--space-3);flex-direction:column;display:flex}.post-card-title{margin:0;font-size:1.02rem;line-height:1.4}.post-card-excerpt{color:var(--text-muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.post-card-excerpt p{margin:0}.post-meta-item{align-items:center;gap:var(--space-1);display:inline-flex}.sticky-badge{padding:1px var(--space-2);border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent-strong);font-size:var(--font-size-small);align-items:center;gap:2px;display:inline-flex}.pagination{justify-content:center;align-items:center;gap:var(--space-2);margin-top:var(--space-8);flex-wrap:wrap;display:flex}.pagination a,.pagination span{min-width:36px;height:36px;padding:0 var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text-muted);justify-content:center;align-items:center;display:inline-flex}.pagination a:hover{border-color:var(--border-strong);color:var(--text);text-decoration:none}.pagination [aria-current=page]{background:var(--text);border-color:var(--text);color:var(--bg)}.pagination .page-ellipsis{background:0 0;border:0}.blog-subnav{gap:var(--space-2);margin-bottom:var(--space-6);padding-bottom:var(--space-4);border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex}.blog-subnav a{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);color:var(--text-muted);font-size:var(--font-size-sidebar);font-weight:500;display:inline-flex}.blog-subnav a:hover{background:var(--surface-hover);color:var(--text);text-decoration:none}.blog-subnav a[aria-current=page]{background:var(--surface-hover);color:var(--text);box-shadow:inset 0 0 0 1px var(--border-strong)}.page-wrap.page-wrap-with-aside{max-width:calc(1000px + var(--space-8) + var(--recent-width));gap:var(--space-8);grid-template-columns:minmax(0,1fr);align-items:start;display:grid}.blog-list-main{min-width:0}.blog-aside{display:none}.recent-updates-head,.blog-stats-head{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.recent-updates-title,.blog-stats-title{align-items:center;gap:var(--space-2);color:var(--text);margin:0;font-size:1rem;font-weight:600;display:flex}.recent-updates-title:before,.blog-stats-title:before{content:"";border-radius:var(--radius-full);background:var(--text);width:4px;height:1em}.blog-stats-list{gap:var(--space-3);margin:var(--space-4) 0 0;padding:0 0 0 var(--space-3);flex-direction:column;list-style:none;display:flex}.blog-stats-item{align-items:center;gap:var(--space-3);min-height:20px;line-height:1.2;font-size:var(--font-size-sidebar);display:flex}.blog-stats-icon{color:var(--text-faint);flex:none;display:flex}.blog-stats-label{color:var(--text-muted)}.blog-stats-value{color:var(--text);font-variant-numeric:tabular-nums;margin-left:auto;font-weight:600}.recent-updates-feed{border-radius:var(--radius-sm);width:26px;height:26px;color:var(--text-faint);transition:background var(--transition), color var(--transition);justify-content:center;align-items:center;display:inline-flex}.recent-updates-feed:hover{background:var(--surface-hover);color:var(--text);text-decoration:none}.recent-updates-list{margin:var(--space-4) 0 0;padding:0 0 0 var(--space-3);flex-direction:column;gap:0;list-style:none;display:flex}.recent-updates-item{margin-inline:calc(var(--space-2) * -1);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);color:var(--link);font-size:var(--font-size-sidebar);text-overflow:ellipsis;white-space:nowrap;transition:background var(--transition), color var(--transition);line-height:1.4;display:block;overflow:hidden}.recent-updates-item:hover,.recent-updates-item:focus-visible{background:color-mix(in srgb, var(--surface) 72%, transparent);-webkit-backdrop-filter:blur(10px)saturate(160%);backdrop-filter:blur(10px)saturate(160%);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--text) 9%, transparent), var(--shadow-xs);color:var(--text);text-decoration:none}@media (min-width:1200px){.page-wrap.page-wrap-with-aside{grid-template-columns:minmax(0, 1fr) var(--recent-width)}.page-wrap-with-aside .blog-list-main{padding-inline:calc(var(--sidebar-width) / 2)}.blog-aside{top:var(--space-8);gap:var(--space-8);padding-right:var(--space-4);flex-direction:column;display:flex;position:sticky}}.taxonomy-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin:0;padding:0;list-style:none;display:grid}.taxonomy-card{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4);color:var(--text);display:flex}.taxonomy-card:hover{border-color:var(--border-strong);text-decoration:none}.taxonomy-count{color:var(--text-faint);font-size:var(--font-size-small)}.archive-group{margin-bottom:var(--space-8)}.archive-year{margin:0 0 var(--space-4);padding-bottom:var(--space-2);border-bottom:1px solid var(--border);font-size:1.05rem}.archive-list{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.archive-item{align-items:baseline;gap:var(--space-3);padding:2px var(--space-3);border-radius:var(--radius-sm);display:flex}.archive-item:hover{background:var(--surface-hover);text-decoration:none}.archive-date{color:var(--text-faint);font-size:var(--font-size-small);font-variant-numeric:tabular-nums;flex:none}.article-title{margin:0 0 var(--space-4);font-size:1.55rem;line-height:1.3}.article-tags{align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);color:var(--text-faint);font-size:var(--font-size-small);flex-wrap:wrap;display:flex}.article-header .chip{background:var(--border)}.article-header .chip:hover{background:var(--border-strong)}.toc-head{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);padding-left:var(--space-3);display:flex}.toc-title{color:var(--text-faint);font-size:var(--font-size-small);letter-spacing:.06em;margin:0;font-weight:600}.toc-toggle{border-radius:var(--radius-sm);width:24px;height:24px;color:var(--text-faint);cursor:pointer;transition:background var(--transition), color var(--transition);background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.toc-toggle[hidden]{display:none}.toc-toggle:hover{background:var(--surface-hover);color:var(--text)}.toc-toggle-icon{display:block}.toc-toggle[aria-expanded=true] .toc-toggle-collapsed,.toc-toggle[aria-expanded=false] .toc-toggle-expanded{display:none}.toc-list>.toc-comments{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--border)}.post-toc.is-collapsed .toc-list{display:none}.code-frame{position:relative}.code-copy{top:var(--space-2);right:var(--space-2);padding:3px var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--bg-elevated);color:var(--text-muted);font-size:var(--font-size-small);cursor:pointer;opacity:0;transition:opacity var(--transition);align-items:center;gap:4px;display:inline-flex;position:absolute}.code-frame:hover .code-copy,.code-copy:focus-visible{opacity:1}#page-content .prose table{width:-moz-fit-content;width:fit-content;max-width:100%;margin-inline:auto}.tag-plugin.image{margin:1em 0}.tag-plugin.image .image-bg{border-radius:var(--radius-md);background:var(--bg-soft);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.tag-plugin.image .image-bg img{object-fit:cover;cursor:zoom-in;width:100%;height:100%;display:block}.tag-plugin.image .image-meta{margin-top:var(--space-2);text-align:center}.image-caption{color:var(--text-faint);font-size:var(--font-size-small)}.image-download{right:var(--space-3);bottom:var(--space-3);border-radius:var(--radius-full);color:#fff;opacity:0;width:34px;height:34px;transition:opacity var(--transition);background:#0f1115a6;justify-content:center;align-items:center;display:inline-flex;position:absolute}.tag-plugin.image .image-bg:hover .image-download,.image-download:focus-visible{opacity:1}details.tag-plugin.folding{border:1px solid var(--surface);border-radius:var(--radius-md);background:var(--surface);margin:1em 0;overflow:hidden}details.tag-plugin.folding>summary{cursor:pointer;padding:var(--space-3) var(--space-4);background:var(--bg-soft);align-items:center;gap:var(--space-2);font-weight:600;list-style:none;display:flex}details.tag-plugin.folding>summary::-webkit-details-marker{display:none}details.tag-plugin.folding>summary:before{content:"▸";transition:transform var(--transition);color:var(--text-faint)}details.tag-plugin.folding[open]>summary:before{transform:rotate(90deg)}details.tag-plugin.folding .body{padding:var(--space-4)}.tag-plugin.tabs{flex-direction:column;margin:1em 0;display:flex;position:relative}.tag-plugin.tabs .nav-tabs{max-width:100%;padding:var(--space-2) 0;border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:center;align-self:center;align-items:center;display:flex;position:relative}.tag-plugin.tabs .tab a{padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);color:var(--text-muted);font-size:var(--font-size-small);border:1px solid #0000;margin:0 2px;display:block;position:relative}.tag-plugin.tabs .tab a:hover{background:var(--bg-soft);color:var(--text);text-decoration:none}.tag-plugin.tabs .tab.active a{border-color:var(--surface);background:color-mix(in srgb, var(--color-accent-ink) 12%, var(--surface));color:var(--color-accent-ink);box-shadow:var(--shadow-xs)}.tag-plugin.tabs .tab.active a:after{right:var(--space-3);bottom:calc(-1 * var(--space-2));left:var(--space-3);border-radius:var(--radius-full);background:var(--color-accent);content:"";height:2px;position:absolute}.tag-plugin.tabs .tab-pane{padding:var(--space-4);display:none}.tag-plugin.tabs .tab-pane.active{display:block}.tag-plugin.tabs .tab-pane>:first-child{margin-top:0}.tag-plugin.tabs .tab-pane>:last-child{margin-bottom:0}.tag-plugin.timeline{padding-left:var(--space-5);border-left:2px solid var(--border);margin:1em 0;position:relative}.timenode{padding-bottom:var(--space-4);position:relative}.timenode:before{content:"";left:calc(-1 * var(--space-5) - 6px);background:var(--accent);border:2px solid var(--bg);border-radius:50%;width:10px;height:10px;position:absolute;top:8px}.timenode .header{margin-bottom:var(--space-1);font-weight:600}.timenode .body>:first-child{margin-top:0}.timenode .body>:last-child{margin-bottom:0}
