.readalong-options{flex:1 1 100%;width:100%;grid-column:1/-1;border-top:1px solid #b8d8c9;margin-top:16px;padding-top:16px;display:grid;gap:10px}
.readalong-options[hidden],.readalong-toolbar[hidden]{display:none}
.mm-audio .readalong-options label{display:flex;flex-direction:row;align-items:flex-start;gap:12px;min-height:44px;margin:0;font-size:1rem;line-height:1.6;cursor:pointer}
.readalong-options input[type=checkbox]{width:22px;height:22px;min-width:22px;margin:3px 0 0;accent-color:#007044}
.readalong-options p{font-size:1rem;line-height:1.65;margin:0}
.read-word{border-radius:3px;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.readalong-text{min-width:0;flex:1}
.read-word.is-reading{background:#ffe39b;color:#0b2942;box-shadow:0 2px 0 #b57b08}
.read-block.is-reading-block{border-radius:4px}
.readalong-toolbar{position:sticky;top:8px;z-index:12;display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px;padding:12px 16px;margin:20px 0;border:1px solid #b8d8c9;border-radius:6px;background:#f5faf6;box-shadow:0 3px 12px #0b29421a;font-size:1rem;line-height:1.5}
.readalong-toolbar>span{font-weight:700;margin-right:auto}
.readalong-toolbar button{min-height:44px;margin:0}
.readalong-toolbar a{min-height:44px;display:flex;align-items:center;text-decoration:underline}
.readalong-options input:focus-visible{outline:3px solid #0b2942;outline-offset:3px}
@media(max-width:480px){.readalong-toolbar{top:4px;gap:8px 14px;padding:12px}.readalong-toolbar>span{width:100%}}
@media(max-height:480px){.readalong-toolbar{position:static}}
@media(prefers-reduced-motion:reduce){.read-word{transition:none}}
@media(forced-colors:active){.read-word.is-reading{outline:2px solid Highlight;background:Highlight;color:HighlightText}}

/* Keep in-page destinations clear of the reading controls, including enlarged text. */
html:has(.readalong-toolbar:not([hidden])){scroll-padding-top:9rem}
body .academy .mm-investment-map :is(h2,h3){hyphens:none;word-break:normal;overflow-wrap:anywhere}

.mm-audio .readalong-options label{width:100%;font-weight:400}.mm-audio .readalong-options input[type=checkbox]{height:22px;flex:0 0 22px;padding:0}.readalong-toolbar{align-self:start}

.read-block:is(h1,h2,h3){hyphens:none;word-break:normal;overflow-wrap:anywhere}

.read-block:is(h1,h2,h3) .read-word{hyphens:none;word-break:normal;overflow-wrap:anywhere}

/* Preserve the approved size and let enlarged text scale the article paragraphs too. */
.reading-layout .article-body{font-size:1.0625rem}
@media(max-width:760px){.reading-layout .article-body{font-size:1rem}}

main :is(h1,h2,h3){hyphens:none;word-break:normal;overflow-wrap:anywhere}

main:has(audio[data-reading-audio]) :is(h1,h2,h3){hyphens:none;word-break:normal;overflow-wrap:anywhere}

.readalong-toolbar button{max-width:100%;white-space:normal;word-break:normal;overflow-wrap:anywhere}

/* The summary is one column here: remove the obsolete column gutters so
   enlarged words keep the available width without reducing their font. */
@media(max-width:600px){
 body .profile-summary>div{padding-inline:0;border-right:0}
 body .profile-summary strong{hyphens:auto;hyphenate-limit-chars:12 4 4;overflow-wrap:normal}
 body main:has(audio[data-reading-audio]) :is(h1,h2,h3){hyphens:auto;hyphenate-limit-chars:7 3 3;overflow-wrap:anywhere}
 /* Move a heading word intact to the next line when it fits there.
    Only a word wider than the entire container may hyphenate internally. */
 body main:has(audio[data-reading-audio]) :is(h1,h2,h3) .read-word{
  display:inline-block;width:max-content;max-width:100%;vertical-align:baseline;
  hyphens:auto;hyphenate-limit-chars:7 3 3;overflow-wrap:anywhere;text-wrap:balance
 }
}
