.blog-posts{background: var(--void);padding-block: clamp(3rem,7vw,5.5rem) clamp(4rem,8vw,7rem);position: relative;z-index: 2;scroll-margin-top: var(--header-h)}.blog-toolbar{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: 1rem 1.5rem;margin-bottom: 1.6rem}.cat-filter{display: flex;flex-wrap: wrap;gap: 6px}.cat-btn{font-family: var(--font-mono);font-size: 0.66rem;letter-spacing: 0.14em;text-transform: uppercase;color: var(--text-secondary);background: transparent;border: 1px solid var(--border-bright);padding: 9px 16px;cursor: pointer;border-radius: 2px;transition: color 0.2s var(--ease),border-color 0.2s,background 0.2s}.cat-btn:hover{color: var(--bone);border-color: var(--gold-dim)}.cat-btn.active{color: var(--void);background: var(--gold);border-color: var(--gold)}.cat-btn__n{opacity: 0.6;margin-left: 4px}.blog-search{position: relative;flex: 0 1 300px;min-width: 220px}.blog-search ion-icon{position: absolute;left: 12px;top: 50%;transform: translateY(-50%);color: var(--text-muted);pointer-events: none}.blog-search input{width: 100%;padding: 11px 14px 11px 38px;background: var(--surface-1);border: 1px solid var(--border-bright);border-radius: 2px;color: var(--bone);font-family: var(--font-ui);font-size: 0.92rem}.blog-search input::placeholder{color: var(--text-muted)}.blog-search input:focus{outline: none;border-color: var(--gold)}.blog-count{font-family: var(--font-mono);font-size: 0.66rem;letter-spacing: 0.12em;text-transform: uppercase;color: var(--text-muted);margin: 0 0 1rem;min-height: 1em}.posts-empty{padding: 2.5rem 1.5rem;text-align: center;border: 1px dashed var(--border-bright);color: var(--text-secondary)}.media-card--wide{display: grid;grid-template-columns: minmax(0,1.25fr) minmax(0,1fr);margin-bottom: 2px}.media-card--wide .media-card__img{height: 100%;min-height: 300px;aspect-ratio: auto}.media-card--wide .media-card__body{justify-content: center;padding: clamp(1.5rem,4vw,3rem)}.media-card--wide .media-card__title{font-size: clamp(1.9rem,3.4vw,2.8rem)}@media (max-width: 860px){.media-card--wide{grid-template-columns: 1fr}.media-card--wide .media-card__img{min-height: 0;height: auto;aspect-ratio: 1200 / 630}}.post-card[hidden]{display: none}.post-card .media-card__text{display: -webkit-box;-webkit-line-clamp: 3;-webkit-box-orient: vertical;overflow: hidden;flex: 0 0 auto}.post-card .media-card__foot{margin-top: auto;padding-top: 0.4rem}.blog-posts .card-grid,.post-more .card-grid{--card-min: 330px}.media-card--wide .media-card__text{-webkit-line-clamp: 4}.blog-vlogs{background: var(--surface-1);padding-block: clamp(3.5rem,7vw,5.5rem);position: relative;z-index: 2;border-top: 1px solid var(--border)}.vlog{display: flex;flex-direction: column;background: var(--surface-2);border: 1px solid var(--border)}.vlog .embed{border: 0;border-bottom: 1px solid var(--border)}.vlog__body{padding: 1.1rem 1.3rem 1.3rem;display: flex;flex-direction: column;gap: 0.35rem}.vlog__ep{font-family: var(--font-mono);font-size: 0.66rem;letter-spacing: 0.16em;text-transform: uppercase;color: var(--gold)}.vlog__title{font-family: var(--font-display);font-size: 1.45rem;letter-spacing: 0.02em;color: var(--bone);line-height: 1.05}.vlog__text{font-size: 0.88rem;line-height: 1.6;color: var(--text-secondary)}.blog-labs-band{background: var(--void);padding-block: clamp(3rem,6vw,4.5rem);position: relative;z-index: 2}.post-page{padding-top: var(--header-h)}.post-hero{padding-top: clamp(2rem,5vw,3.5rem)}.post-hero__inner{max-width: 860px}.post-crumbs{display: flex;gap: 10px;align-items: center;font-family: var(--font-mono);font-size: 0.68rem;letter-spacing: 0.14em;text-transform: uppercase;color: var(--text-muted)}.post-crumbs a{color: var(--text-secondary);text-decoration: none}.post-crumbs a:hover{color: var(--gold)}.post-hero__meta{display: flex;flex-wrap: wrap;align-items: center;gap: 8px 16px;margin-top: 1.6rem;font-family: var(--font-mono);font-size: 0.7rem;letter-spacing: 0.12em;text-transform: uppercase;color: var(--text-muted)}.post-hero__label{color: var(--gold)}.post-hero__title{font-family: var(--font-display);font-size: clamp(2.6rem,6.5vw,4.8rem);line-height: 0.95;letter-spacing: 0.01em;color: var(--bone);margin-top: 0.9rem}.post-hero__lead{margin-top: 1.3rem;max-width: 62ch;font-size: clamp(1.02rem,1.6vw,1.15rem);line-height: 1.8;color: var(--text-secondary)}.post-byline{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: 1rem;margin-top: 1.8rem;padding-block: 1.1rem;border-top: 1px solid var(--border);border-bottom: 1px solid var(--border)}.post-byline__who{display: flex;align-items: center;gap: 12px;text-decoration: none;color: inherit}.post-byline__who img{width: 44px;height: 44px;border-radius: 50%;border: 1px solid var(--border-bright);background: var(--surface-2)}.post-byline__who>span{display: flex;flex-direction: column}.post-byline__who strong{font-family: var(--font-display);font-size: 1.2rem;letter-spacing: 0.04em;color: var(--bone);font-weight: 400;line-height: 1.1}.post-byline__who span span{font-family: var(--font-mono);font-size: 0.66rem;letter-spacing: 0.1em;text-transform: uppercase;color: var(--text-muted)}.post-share{display: flex;flex-wrap: wrap;gap: 6px}.post-share__btn{display: inline-flex;align-items: center;justify-content: center;gap: 8px;min-width: 40px;height: 40px;padding: 0 12px;background: transparent;border: 1px solid var(--border-bright);border-radius: 2px;color: var(--bone-dim);cursor: pointer;text-decoration: none;font-family: var(--font-mono);font-size: 0.66rem;letter-spacing: 0.12em;text-transform: uppercase;transition: color 0.2s,border-color 0.2s}.post-share__btn:hover{color: var(--gold);border-color: var(--gold)}.post-share__btn ion-icon{font-size: 1.05rem}.post-share__btn.is-done{color: var(--gold);border-color: var(--gold)}.post-cover{margin-top: clamp(1.6rem,4vw,2.6rem);max-width: 1100px}.post-cover img{display: block;width: 100%;height: auto;aspect-ratio: 1200 / 630;object-fit: cover;border: 1px solid var(--border);background: var(--surface-2)}.post-layout{max-width: 860px;padding-block: clamp(2.5rem,5vw,4rem)}.post-layout.has-toc{position: relative}.post-toc{margin-bottom: 2rem;padding: 1rem 1.2rem;background: var(--surface-1);border: 1px solid var(--border)}.post-toc summary{list-style: none;cursor: pointer;font-family: var(--font-mono);font-size: 0.68rem;letter-spacing: 0.16em;text-transform: uppercase;color: var(--gold)}.post-toc summary::-webkit-details-marker{display: none}.post-toc ol{list-style: none;margin: 0.6rem 0 0;padding: 0;display: grid;gap: 2px;counter-reset: toc}.post-toc li{counter-increment: toc}.post-toc a{display: flex;gap: 10px;padding: 7px 0 7px 10px;border-left: 2px solid transparent;font-size: 0.86rem;line-height: 1.4;color: var(--text-secondary);text-decoration: none}.post-toc a::before{content: counter(toc,decimal-leading-zero);font-family: var(--font-mono);font-size: 0.66rem;color: var(--text-muted);padding-top: 2px}.post-toc a:hover,.post-toc a.is-active{color: var(--bone);border-left-color: var(--gold)}@media (min-width: 1400px){.post-layout.has-toc .post-toc{position: absolute;top: clamp(2.5rem,5vw,4rem);bottom: 0;right: calc(100% + 1rem);width: 230px;margin: 0;padding: 0;background: none;border: 0}.post-layout.has-toc .post-toc details{position: sticky;top: calc(var(--header-h) + 1.5rem);max-height: calc(100vh - var(--header-h) - 3rem);overflow-y: auto}.post-layout.has-toc .post-toc summary{padding-bottom: 0.8rem;border-bottom: 1px solid var(--border)}}.article-body{display: flex;flex-direction: column;gap: 1.35rem;min-width: 0}.article-body>p,.article-body li{font-family: var(--font-ui);font-size: 1.04rem;color: var(--text-secondary);line-height: 1.9}.article-body strong{color: var(--bone)}.article-body em{color: var(--bone);font-style: italic}.article-body a:not(.btn){color: var(--gold);text-underline-offset: 3px}.article-h3,.article-body>h2,.article-body>h3{font-family: var(--font-display);font-size: clamp(1.7rem,3vw,2.1rem);color: var(--bone);letter-spacing: 0.03em;margin-top: 1rem;line-height: 1.05;scroll-margin-top: calc(var(--header-h) + 1.5rem)}.article-body>h3:not(.article-h3){font-size: 1.45rem;color: var(--gold);margin-top: 0.4rem}.article-body img{max-width: 100%;height: auto;border: 1px solid var(--border)}.article-body pre{background: var(--surface-1);border: 1px solid var(--border);padding: 1rem 1.2rem;overflow-x: auto;font-family: var(--font-mono);font-size: 0.8rem}.article-body code{font-family: var(--font-mono);font-size: 0.85em;color: var(--gold)}.article-quote,.article-body>blockquote{margin: 0.4rem 0;background: var(--surface-1);border: 1px solid var(--border);border-left: 3px solid var(--gold);padding: 1.5rem 1.8rem}.article-quote p,.article-body>blockquote p{font-family: var(--font-display);font-size: 1.55rem;color: var(--bone);letter-spacing: 0.02em;line-height: 1.15}.article-foot{border-top: 1px solid var(--border);padding-top: 1.5rem;margin-top: 1rem;display: flex;align-items: center;justify-content: space-between;flex-wrap: wrap;gap: 1rem}.article-foot__by{font-family: var(--font-mono);font-size: 0.66rem;letter-spacing: 0.14em;text-transform: uppercase;color: var(--text-muted)}.article-body ul,.article-body ol{margin: 0 0 0 1.2rem;display: flex;flex-direction: column;gap: 0.5rem}.article-body li::marker{color: var(--gold)}.article-body>hr{border: 0;height: 1px;background: var(--border);margin: 0.6rem 0}.table-wrap{overflow-x: auto}.article-body table{width: 100%;border-collapse: collapse;border: 1px solid var(--border);font-family: var(--font-ui);font-size: 0.94rem}.article-body th{padding: 0.75rem 1rem;text-align: left;font-family: var(--font-mono);font-size: 0.66rem;letter-spacing: 0.14em;text-transform: uppercase;color: var(--gold);background: var(--surface-2)}.article-body td{padding: 0.75rem 1rem;border-top: 1px solid var(--border);color: var(--text-secondary);line-height: 1.6;vertical-align: top}.article-body td:first-child{width: 34%;color: var(--bone);background: var(--surface-1)}@media (max-width: 520px){.article-body td,.article-body td:first-child{display: block;width: auto}.article-body td:first-child{border-top: 1px solid var(--border-bright);padding-bottom: 0.3rem}.article-body td:first-child + td{border-top: 0;padding-top: 0.3rem}}.post-main{min-width: 0}.post-end{margin-top: clamp(2.5rem,5vw,3.5rem);display: grid;gap: 1.6rem}.post-end__share{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: 1rem;padding: 1.2rem 1.4rem;background: var(--surface-1);border: 1px solid var(--border);border-left: 3px solid var(--gold)}.post-end__share p{font-family: var(--font-display);font-size: 1.4rem;letter-spacing: 0.03em;color: var(--bone)}.post-pager{display: grid;grid-template-columns: 1fr 1fr;gap: 2px}.post-pager__link{display: flex;flex-direction: column;gap: 0.4rem;padding: 1.2rem 1.4rem;background: var(--surface-1);border: 1px solid var(--border);text-decoration: none;transition: border-color 0.2s}.post-pager__link:hover{border-color: var(--gold-dim)}.post-pager__link span{font-family: var(--font-mono);font-size: 0.66rem;letter-spacing: 0.14em;text-transform: uppercase;color: var(--gold)}.post-pager__link strong{font-family: var(--font-display);font-weight: 400;font-size: 1.3rem;line-height: 1.1;letter-spacing: 0.02em;color: var(--bone)}.post-pager__link--newer{text-align: right;grid-column: 2}@media (max-width: 640px){.post-pager{grid-template-columns: 1fr}.post-pager__link--newer{grid-column: auto;text-align: left}}.post-more{background: var(--surface-1);border-top: 1px solid var(--border);padding-block: clamp(3.5rem,7vw,5.5rem);position: relative;z-index: 2}@media (max-width: 640px){.cat-filter{flex-wrap: nowrap;overflow-x: auto;scrollbar-width: none;width: 100%;padding-bottom: 2px}.cat-filter::-webkit-scrollbar{display: none}.cat-btn{flex-shrink: 0}.blog-search{flex:1 1 100%}}