/* mf-fix 20261031h1: one blog TOC, no heading overlap, no card overflow. Loaded after mf-v4.css. */
.rd-toc{display:none!important}
html:not(.mf31-has-toc) .page-blog .prose>.rd-toc{display:block!important;position:static!important;margin:0 0 1.6em;padding:14px 18px;border:1px solid rgba(11,11,15,.12);border-radius:14px}
.page-blog .prose h2,.page-blog .prose h3{position:relative!important;inset:auto!important;float:none!important;clear:both;scroll-margin-top:110px}
.page-blog .prose h2 .mf2-anchor,.page-blog .prose h3 .mf2-anchor{position:static!important;margin-left:.35em;opacity:0;text-decoration:none;font-weight:500;color:#6b6e78}
.page-blog .prose h2:hover .mf2-anchor,.page-blog .prose h3:hover .mf2-anchor,.page-blog .prose .mf2-anchor:focus{opacity:1}
.mf31-toc a,.mf31-sheet a{overflow-wrap:anywhere}
/* cards + grids: long words/URLs wrap instead of spilling */
.mf-card,.skill-card,.project-card,.post-card,.panel,.door,.step,.read,.cert-card,.mf-sec-card,[class*="-card"]{min-width:0;overflow-wrap:anywhere;word-break:break-word}
.mf-card a,.skill-card a,.project-card a,.panel a,.read a,[class*="-card"] a{overflow-wrap:anywhere;word-break:break-word}
[class*="grid"]>*,.cards>*,.steps>*{min-width:0}
.prose{overflow-wrap:break-word}.prose a{overflow-wrap:anywhere}
.prose pre,.prose .rd-table{max-width:100%;overflow-x:auto}
.skill-card p a,.mf-card p a{color:#4327d6;font-weight:600;text-decoration:underline;text-underline-offset:2px}
.skill-card.is-main{border-color:rgba(67,39,214,.35)}
.mf-sec-grid>li{min-width:0}
