.blog-search{max-width:var(--max);margin:0 auto 2.5rem;padding:0 clamp(1rem,4vw,2rem)}.pagefind-ui{--pagefind-ui-primary: var(--live);--pagefind-ui-text: var(--text);--pagefind-ui-background: var(--surface);--pagefind-ui-border: var(--border-strong);--pagefind-ui-tag: var(--surface-2);--pagefind-ui-border-width: 1px;--pagefind-ui-border-radius: var(--radius);--pagefind-ui-font: var(--font-sans)}.pagefind-ui .pagefind-ui__search-input{background:var(--bg-2);color:var(--text);border-color:var(--border-strong);font-family:var(--font-sans)}.pagefind-ui .pagefind-ui__search-input::placeholder{color:var(--muted)}.pagefind-ui .pagefind-ui__result{border-top:1px solid var(--border)}.pagefind-ui .pagefind-ui__result-title a,.pagefind-ui .pagefind-ui__result-link{color:var(--text)}.pagefind-ui .pagefind-ui__result-excerpt{color:var(--text-2)}.pagefind-ui mark{background:color-mix(in srgb,var(--live) 25%,transparent);color:var(--text);border-radius:3px;padding:0 2px}.nav__lang{border:1px solid var(--border-strong);border-radius:999px;padding:.1rem .5rem;font-size:.72rem;letter-spacing:.05em;color:var(--muted)!important}.nav__lang:hover{color:var(--text)!important;border-color:var(--muted)}.cat-nav{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1.5rem}.cat-nav__item{display:inline-flex;align-items:center;gap:.35rem;font-family:var(--font-mono);font-size:.85rem;color:var(--text-2);background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:.35rem .85rem;text-decoration:none;transition:color .18s var(--ease),border-color .18s var(--ease),background .18s var(--ease)}.cat-nav__item:hover{color:var(--text);border-color:var(--border-strong)}.cat-nav__item.is-active{color:var(--bg);background:var(--text);border-color:var(--text)}.cat-nav__count{font-size:.72rem;color:var(--faint)}.cat-nav__item.is-active .cat-nav__count{color:var(--bg);opacity:.6}.post-list{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}.post-card{display:block;padding:1.25rem 1.5rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);text-decoration:none;color:inherit;transition:border-color .2s var(--ease),transform .15s var(--ease),background .2s var(--ease)}.post-card:hover{border-color:var(--border-strong);background:var(--surface-2);transform:translateY(-2px)}.post-card__meta{color:var(--faint);font-size:.8rem}.post-card__cat{color:var(--live)}.post-card__title{margin:.4rem 0 .3rem;font-size:1.15rem;line-height:1.35;color:var(--text)}.post-card__desc{margin:0;color:var(--text-2);font-size:.95rem;line-height:1.6}.post-card__tags{list-style:none;margin:.8rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem}.tag{display:inline-block;font-family:var(--font-mono);font-size:.75rem;color:var(--muted);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.15rem .5rem;text-decoration:none}a.tag:hover{color:var(--text);border-color:var(--border-strong)}.post__crumbs{max-width:720px;margin:0 auto;padding:0 clamp(1rem,4vw,2rem);font-size:.82rem;color:var(--faint);display:flex;gap:.5rem}.post__crumbs a{color:var(--muted);text-decoration:none}.post__crumbs a:hover{color:var(--text)}.post__cat{color:var(--live);text-decoration:none}.post__cat:hover{text-decoration:underline;text-underline-offset:3px}.post{max-width:720px;margin:0 auto;padding:0 clamp(1rem,4vw,2rem)}.post__head{padding:1rem 0 1.5rem;border-bottom:1px solid var(--border);margin-bottom:2rem}.post__meta{color:var(--faint);font-size:.85rem}.post__title{margin:.5rem 0;font-size:clamp(1.6rem,4vw,2.3rem);line-height:1.25}.post__lead{color:var(--text-2);font-size:1.05rem;line-height:1.65;margin:.5rem 0 0}.post__tags{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;margin:1rem 0 0;padding:0}.post__hero{width:100%;height:auto;border-radius:var(--radius);border:1px solid var(--border);margin-bottom:2rem}.series-box{max-width:720px;margin:0 auto 2rem;padding:1rem 1.25rem;border:1px solid var(--border);border-left:3px solid var(--live);border-radius:var(--radius-sm);background:var(--surface)}.series-box__label{color:var(--muted);font-size:.75rem;letter-spacing:.04em;margin:0 0 .6rem}.series-box__list{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}.series-box__item{display:flex;align-items:baseline;gap:.7rem}.series-box__plat{flex:0 0 auto;min-width:4.5rem;font-size:.72rem;color:var(--live);border:1px solid var(--border-strong);border-radius:999px;padding:.1rem .5rem;text-align:center}.series-box__title{color:var(--text-2);text-decoration:none;font-size:.95rem}a.series-box__title:hover{color:var(--text);text-decoration:underline;text-underline-offset:3px}.series-box__item.is-current .series-box__title{color:var(--text);font-weight:600}.series-box__item.is-current .series-box__plat{color:var(--bg);background:var(--live);border-color:var(--live)}.post__body{color:var(--text);font-size:1.02rem;line-height:1.8}.post__body>*+*{margin-top:1.1rem}.post__body h2{margin-top:2.5rem;margin-bottom:.5rem;font-size:1.4rem;line-height:1.3;padding-top:.5rem;border-top:1px solid var(--border)}.post__body h3{margin-top:1.8rem;font-size:1.15rem}.post__body a{color:var(--live);text-underline-offset:3px}.post__body img{max-width:100%;height:auto;border-radius:var(--radius-sm);border:1px solid var(--border);display:block;margin:1.5rem auto}.post__body figure{margin:1.5rem 0}.post__body figcaption{text-align:center;color:var(--muted);font-size:.85rem;margin-top:.5rem}.post__body blockquote{border-left:3px solid var(--border-strong);margin:1.2rem 0;padding:.2rem 0 .2rem 1rem;color:var(--text-2)}.post__body ul,.post__body ol{padding-left:1.3rem}.post__body li+li{margin-top:.35rem}.post__body code{font-family:var(--font-mono);font-size:.88em;background:var(--surface-2);border:1px solid var(--border);border-radius:5px;padding:.1rem .35rem}.post__body pre{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:1rem 1.1rem;overflow-x:auto;font-size:.88rem;line-height:1.6}.post__body pre code{background:none;border:0;padding:0}.post__body table{width:100%;border-collapse:collapse;font-size:.92rem}.post__body th,.post__body td{border:1px solid var(--border);padding:.5rem .7rem;text-align:left}.post__body th{background:var(--surface-2)}.post__body hr{border:0;border-top:1px solid var(--border);margin:2.5rem 0}.post__foot{max-width:720px;margin:3rem auto 0;padding:2rem clamp(1rem,4vw,2rem) 0;border-top:1px solid var(--border)}.blog-empty{color:var(--muted);padding:2rem 0}
