/* Build log extras (Nov 1 2026). Scoped to /build pages; styles.css untouched. */
.build-toc { max-width: 70ch; margin: 0 auto 2.5rem; background: var(--charcoal); color: var(--bone);
  border: 3px solid var(--charcoal); border-left: 8px solid var(--teal); border-radius: var(--radius); padding: 1rem 1.5rem 1.1rem; }
.build-toc .toc-kicker { font-family: var(--head); text-transform: uppercase; letter-spacing: .08em; font-size: .9rem; color: var(--teal); margin: 0; }
.build-toc h2 { color: var(--white); font-size: 1.5rem; margin: .1em 0 .5em; }
.build-toc ol { list-style: none; margin: 0; padding: 0; }
.build-toc li { padding: .45em 0; border-top: 1px solid var(--slate); display: flex; flex-wrap: wrap; gap: .2em .8em; align-items: baseline; justify-content: space-between; }
.build-toc li:first-child { border-top: 0; }
.build-toc a { color: #00A0A0; font-weight: 600; text-decoration: none; }
.build-toc a:hover, .build-toc a:focus-visible { text-decoration: underline; }
.build-toc .toc-week { font-family: var(--head); text-transform: uppercase; letter-spacing: .04em; margin-right: .35em; }
.build-toc time { color: #C9C3B6; font-size: .95rem; white-space: nowrap; }
.build-toc .toc-rss { margin: .7em 0 0; font-size: .95rem; }
.post-nav { max-width: 70ch; margin: 2.5rem auto 0; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; }
.post-nav a { color: #00A0A0; font-weight: 600; text-decoration: none; border: 3px solid var(--charcoal); background: var(--charcoal); border-radius: 10px; padding: .6rem 1rem; max-width: 100%; }
.post-nav a:hover, .post-nav a:focus-visible { text-decoration: underline; }
.post-nav .next { margin-left: auto; text-align: right; }
.post .glance { background: var(--white); border: 3px solid var(--charcoal); border-left: 8px solid var(--teal); border-radius: 12px; padding: .8rem 1.3rem; margin: 1.5rem 0; }
.post .glance p { margin: .2em 0 .4em; }
.post figure { margin: 1.5rem 0; }
.post figure img { display: block; width: 100%; height: auto; border: 3px solid var(--charcoal); border-radius: 10px; background: var(--white); }
/* 2-up: each figure's width is in proportion to its image aspect ratio (--ar = w/h), so both images render at the same height
   with no cropping; basis 6px = the img's 2 x 3px border (border-box). width/height attrs reserve space (no layout shift). */
.post .fig-pair { display: flex; gap: 1rem; margin: 1.5rem 0; align-items: flex-start; }
.post .fig-pair figure { margin: 0; flex: var(--ar, 1) 1 6px; min-width: 0; }
.post .fig-pair figure img { object-fit: contain; }
@media (max-width: 560px) { .post .fig-pair { flex-direction: column; } .post .fig-pair figure { flex: none; width: 100%; } }
.post figcaption { color: #5A5F67; font-size: .95rem; margin-top: .4rem; }
/* v4: single photo from an IMAGE note; capped width, centered; width/height attrs reserve space */
.post figure.fig-photo { max-width: 480px; margin-inline: auto; }
