/* Blog visuals (blogvis.py): in-body figures and the embedded tool. Uses site.css tokens. */
.bvf{margin:22px 0 24px}
.bvf picture,.bvf img{display:block;width:100%;height:auto}
.bvf img{border-radius:16px;border:1px solid var(--line-soft);background:#f4f5f1}
.bvf figcaption{display:flex;flex-direction:column;gap:3px;margin:8px 4px 0;font-size:14px;line-height:1.45;color:var(--sub)}
.bvf-cred{font-size:12px;color:var(--muted)}
.bvf-cred a{color:inherit;text-decoration:underline}
.bvw{position:relative;margin:28px 0;padding:18px 18px 14px;border-radius:22px;background:var(--stage,#ebebea);
  border:1px solid var(--line-soft);border-top:4px solid var(--c,#1f4d45)}
.bvw-h{display:flex;align-items:center;gap:12px;margin:0 0 10px}
.bvw-ic{flex:none;width:42px;height:42px;border-radius:14px;display:grid;place-items:center;
  background:color-mix(in srgb,var(--c) 20%,#fff);border:1px solid color-mix(in srgb,var(--c) 34%,#fff)}
.bvw-ic svg{width:24px;height:24px}
.bvw-k{display:block;font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.bvw-t{margin:2px 0 0 !important;font-size:18px;font-weight:600;line-height:1.3;color:#111}
.bvw-note{margin:0 0 12px !important;font-size:14.5px;color:var(--sub)}
.bvw .tool{margin:0}
.bvw-foot{display:flex;flex-wrap:wrap;gap:6px 14px;justify-content:space-between;margin:12px 4px 0 !important;font-size:13.5px;color:var(--sub)}
.bvw-foot a{font-weight:600}
@media (max-width:640px){.bvw{padding:14px 10px 12px;margin:24px -6px}.bvw-t{font-size:16.5px}}
