/* ---- Heading anchor links ---- */
.hx-anchored { position: relative; }
.heading-anchor{ margin-left:.35em; color:#9aa7b2; text-decoration:none; font-weight:400;
  opacity:0; transition:opacity .12s ease; }
.hx-anchored:hover .heading-anchor, .heading-anchor:focus{ opacity:1; }
.heading-anchor:hover{ color:#2f9e6b; }

/* ---- Code copy button ---- */
.code-copy-btn{ position:absolute; top:.5rem; right:.5rem; z-index:2;
  font:600 12px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  color:#cfe8dd; background:rgba(20,28,24,.55); border:1px solid rgba(207,232,221,.3);
  border-radius:5px; padding:.35rem .55rem; cursor:pointer; opacity:0; transition:opacity .12s, background .12s; }
.highlight:hover .code-copy-btn, pre:hover .code-copy-btn, .code-copy-btn:focus{ opacity:1; }
.code-copy-btn:hover{ background:rgba(20,28,24,.8); color:#fff; }
.code-copy-btn.copied{ color:#8fe3b6; border-color:#8fe3b6; opacity:1; }

/* ---- Series box ---- */
.series-box{ border:1px solid #cfe0d6; background:#f2f8f4; border-radius:8px;
  padding:.9rem 1.1rem; margin:1.25rem 0 1.75rem; font-size:.95rem; }
.series-box .series-kicker{ font-size:.72rem; letter-spacing:.09em; text-transform:uppercase;
  color:#227a53; font-weight:700; margin:0 0 .45rem; }
.series-box ol{ margin:0; padding-left:1.25rem; }
.series-box li{ margin:.2rem 0; }
.series-box li.is-current{ font-weight:700; color:#1b2733; }
.series-box li.is-current::marker{ color:#2f9e6b; }
.series-box a{ color:#227a53; }

/* ---- Prev / next post nav ---- */
.post-nav{ display:flex; gap:1rem; justify-content:space-between; margin:2.5rem 0 1rem;
  border-top:1px solid #e3e8ec; padding-top:1.25rem; }
.post-nav a{ display:block; max-width:48%; text-decoration:none; color:#1b2733; }
.post-nav .pn-dir{ font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; color:#7a8894; }
.post-nav .pn-title{ color:#227a53; font-weight:600; line-height:1.3; }
.post-nav a:hover .pn-title{ text-decoration:underline; }
.post-nav .pn-next{ text-align:right; margin-left:auto; }

/* ---- Start here (home) ---- */
.starthere{ max-width:64rem; margin:1.5rem auto 0; padding:0 1rem; text-align:left; }
.starthere h2{ font-size:1.15rem; margin:0 0 .1rem; }
.starthere .sh-sub{ color:#7a8894; font-size:.9rem; margin:0 0 1rem; }
.sh-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:1rem; }
.sh-card{ border:1px solid #dbe2e7; border-radius:8px; padding:1rem; background:#fff;
  text-decoration:none; color:#1b2733; transition:box-shadow .12s, transform .12s; display:block; }
.sh-card:hover{ box-shadow:0 6px 18px rgba(27,39,51,.1); transform:translateY(-2px); }
.sh-card .sh-cat{ font-size:.68rem; letter-spacing:.08em; text-transform:uppercase; color:#227a53; font-weight:700; }
.sh-card .sh-title{ font-weight:700; margin:.3rem 0 .35rem; line-height:1.25; }
.sh-card .sh-desc{ font-size:.88rem; color:#5b6b7a; line-height:1.4; }
