.blog-page{background:var(--void);min-height:100dvh;padding-block:var(--pad-block) var(--stack-region);container-type:inline-size}.blog-page__inner{max-width:1240px;padding-inline:var(--gutter);margin-inline:auto}.blog-head{padding-bottom:var(--stack-head);margin-bottom:var(--stack-head);border-bottom:1px solid var(--line)}.blog-head__crumbs{margin-bottom:var(--space-6)}.blog-head__title{font-family:var(--font-display);font-size:var(--size-hero);letter-spacing:.01em;text-transform:uppercase;color:var(--ink-1);text-wrap:balance;margin:0;line-height:.94}.blog-head__stop{color:var(--accent)}.blog-head__tagline{margin:var(--stack-label) 0 0;max-width:52ch;font-family:var(--font-sans);font-weight:300;font-size:var(--size-lead);color:var(--ink-3);text-wrap:pretty;line-height:1.45}.crumbs{align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--size-label);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--ink-4);display:inline-flex}.crumbs__sep{color:var(--ink-5)}.crumbs__link{transition:color var(--dur-fast) var(--ease-out)}.crumbs__link:hover{color:var(--accent)}.crumbs__current{color:var(--ink-2)}.tag-pill{border:1px solid var(--line-strong);background:var(--face);font-family:var(--font-mono);font-weight:500;font-size:var(--size-label);letter-spacing:var(--track-tight);text-transform:uppercase;color:var(--ink-2);transition:color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out);align-items:center;padding:5px 10px;display:inline-flex}a.tag-pill:hover{color:var(--accent-ink);border-color:var(--accent);background:var(--accent)}.tag-pill--count{color:var(--ink-4)}.post-section{margin-bottom:var(--stack-block)}.post-section__label{margin:0 0 var(--space-4);font-family:var(--font-mono);font-size:var(--size-label);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--ink-3)}.post-grid{gap:var(--space-5) var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.card{flex-direction:column;display:flex;position:relative}.card__frame{aspect-ratio:16/10;margin-bottom:var(--space-3);border:1px solid var(--line);background:repeating-linear-gradient(90deg, var(--grid-line) 0 1px, transparent 1px var(--space-5)), repeating-linear-gradient(0deg, var(--grid-line) 0 1px, transparent 1px var(--space-5)), var(--sunk);transition:border-color var(--dur) var(--ease-out);place-items:center;display:grid;position:relative;overflow:hidden}.card:hover .card__frame{border-color:var(--accent-line)}.card__img{object-fit:cover;transition:scale var(--dur) var(--ease-out)}.card:hover .card__img{scale:1.03}.card__glyph{padding-inline:var(--space-4);font-family:var(--font-display);font-size:var(--size-feature);letter-spacing:.02em;text-transform:uppercase;text-align:center;color:var(--ink-5);line-height:1}.card__meta{justify-content:space-between;align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--size-label);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--ink-1);display:flex}.card__read{color:var(--ink-2)}.card__title{margin:var(--stack-label) 0 0;font-family:var(--font-sans);font-weight:500;font-size:var(--size-lead);letter-spacing:-.012em;color:var(--ink-1);text-wrap:pretty;line-height:1.24}.card__link{color:inherit;transition:color var(--dur-fast) var(--ease-out)}.card__link:after{content:"";position:absolute;inset:0}.card:hover .card__link{color:var(--accent)}.card__dek{-webkit-line-clamp:2;margin:var(--space-1) 0 0;font-weight:400;font-size:var(--size-meta);color:var(--ink-1);-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.post-section+.archive{padding-top:var(--stack-head);border-top:1px solid var(--line)}.archive__heading{margin:0 0 var(--space-4);font-family:var(--font-display);font-size:var(--size-feature);letter-spacing:.01em;text-transform:uppercase;color:var(--ink-1);line-height:1}.archive__search{margin-bottom:var(--space-3);border:1px solid var(--line-strong);background:var(--face);transition:border-color var(--dur-fast) var(--ease-out);align-items:center;display:flex;position:relative}.archive__search:focus-within{border-color:var(--accent)}.archive__search-icon{margin-inline:var(--space-3) 0;color:var(--ink-5);flex:none}.archive__input{min-width:0;padding:var(--space-2) var(--space-3);font-family:var(--font-sans);font-weight:300;font-size:var(--size-body);color:var(--ink-1);background:0 0;border:0;outline:none;flex:1}.archive__input::placeholder{color:var(--ink-5)}.archive__input::-webkit-search-cancel-button{appearance:none}.archive__filters{gap:var(--space-1);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.archive__filter[aria-current=page]{color:var(--accent-ink);background:var(--accent);border-color:var(--accent)}.archive__empty{place-items:center;gap:var(--space-3);padding-block:var(--space-8);text-align:center;color:var(--ink-4);display:grid}.archive__empty-mark{font-family:var(--font-display);font-size:var(--size-display);color:var(--ink-5);line-height:1}.archive__empty code{font-family:var(--font-mono);color:var(--accent)}.pager{justify-content:center;align-items:center;gap:var(--space-1);margin-top:var(--stack-head);flex-wrap:wrap;display:flex}.pager__step,.pager__num{min-width:34px;min-height:34px;padding-inline:var(--space-2);border:1px solid var(--line-strong);background:var(--face);font-family:var(--font-mono);font-weight:500;font-size:var(--size-label);letter-spacing:var(--track-tight);text-transform:uppercase;color:var(--ink-2);font-variant-numeric:tabular-nums;transition:color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out);justify-content:center;align-items:center;gap:4px;display:inline-flex}.pager__step:hover:not(:disabled),.pager__num:hover{color:var(--accent-ink);border-color:var(--accent);background:var(--accent)}.pager__step:disabled{color:var(--ink-5);border-color:var(--line);cursor:default}.pager__num[aria-current=page]{color:var(--accent-ink);border-color:var(--accent);background:var(--accent)}@container (max-width:980px){.post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@container (max-width:620px){.post-grid{grid-template-columns:minmax(0,1fr)}}
