/* Source labels and explanations carry the story, including on phones. */
body[data-page] :is(.bp-page,.bfv-page) :is(.bs-source-record span,.bs-sheet-count,.bs-object>span,.bs-memory-rule>span,.bs-memory-marks small,.bs-memory-source span,.bs-answer-evidence,.brain-source-line,.bfv-node-label,.bfv-node-secondary,.bfv-map-core>span,.bfv-chapters button,.bfv-chapters button>span,.bfv-scope,.kex-document-origin small,.kpo-answer-source small,.kex-document-heading>span,.cx-case-role,.cts-relation,.cm-timeline small,.cm-timeline em,.me-term>small){font-size:14px;line-height:1.4;letter-spacing:0}
body[data-page] :is(.bp-page,.bfv-page) :is(.bs-source-record strong,.bs-object strong,.bs-memory-rule p,.bs-answer-response p,.bfv-stage-caption p,.bfv-answer-body p,.bfv-map-node p,.kex-document-body p,.kex-takeaway p,.kpo-clause p,.kpo-answer p,.cx-case-narrative p,.cx-case-answer p,.cts-answer p,.cm-decision-facts dd,.me-message p){font-size:16px;line-height:1.5}
body[data-page] :is(.bp-page,.bfv-page) .bfv-node-label,body[data-page] :is(.bp-page,.bfv-page) .bfv-node-secondary{color:#bcbcbc}
body[data-page] :is(.bp-page,.bfv-page) .bfv-chapters button{white-space:normal}
body[data-page] :is(.bp-page,.bfv-page) .brain-source-line{gap:7px}
body[data-page] :is(.bp-page,.bfv-page) .brain-source-line img{width:16px;height:16px;flex:none}
body[data-page] :is(.bp-page,.bfv-page) .bfv-stage-caption p{color:#bcbcbc}
body[data-page] :is(.bp-page,.bfv-page) .bs-layer-copy article{opacity:calc(.65 + var(--bs-emphasis,1)*.35)}
body[data-page] :is(.bp-page,.bfv-page) .bs-source-records{gap:20px}
body[data-page] :is(.bp-page,.bfv-page) .bs-source-record{gap:12px}
body[data-page] :is(.bp-page,.bfv-page) .bfv-map-node>strong{font-size:18px}
body[data-page] :is(.bp-page,.bfv-page) .bs-memory-marks{gap:16px}
@media(max-width:700px){
 body[data-page] :is(.bp-page,.bfv-page) .bfv-map-node>strong{font-size:16px}
 body[data-page] :is(.bp-page,.bfv-page) .bs-source-records{gap:18px}
 body[data-page] :is(.bp-page,.bfv-page) .bfv-stage-caption{min-height:190px}
 body[data-page] :is(.bp-page,.bfv-page) .bfv-chapters button{padding-inline:7px}
 body[data-page] :is(.bp-page,.bfv-page) .cm-timeline small,body[data-page] :is(.bp-page,.bfv-page) .cm-timeline em{white-space:normal}
}
body[data-page] :is(.bp-page,.bfv-page) :is(.kpo-eyebrow,.kpo-fare>span,.kpo-fare small,.kpo-document-origin span,.kpo-document-origin small,.kpo-folio header>p,.kpo-folio header>span,.kpo-clause h5,.kpo-answer-brand,.kpo-answer-brand small,.kpo-answer-source>span,.kpo-note>span,.me-decision-top,.me-decision-number,.me-term>span,.me-decision-author strong,.me-decision-source,.me-decision>a,.me-thread-top time,.me-message-meta,.me-sources,.me-footnote,.me-chapters p){font-size:14px;line-height:1.5}
body[data-page] :is(.bp-page,.bfv-page) :is(.me-decision-summary,.kpo-note>p){font-size:16px;line-height:1.5}
body[data-page] .me-sources li{font-size:14px;line-height:1.5}

/* Descriptive copy remains readable when the animated layouts become compact. */
body[data-page] :is(.bp-page,.bfv-page) :is(
 .bs-layer-copy article>p,.bs-layers-heading>p:last-child,.bs-sheet-memory>p,
 .bfv-answer-question,.bfv-final>p,.bp-next p:not(.bp-kicker),
 .kex-heading>p:last-child,.kex-document-body,.kex-slack-message p,.kex-event-agenda,
 .kex-answer-lines>p,.kex-answer-next>p,.kex-principle>p:last-child,.kpo-heading>p:last-child,
 .cx-case-nodes p,.cx-case-explanation>p:not(.bp-kicker),.cts-heading>p,
 .cm-history-aside,.cm-change p,.cm-change ins,.cm-change del,.me-heading>p,
 .mr-step p,.mr-route-intro p,.mr-question,.mr-route-question
){font-size:16px;line-height:1.5}

/* Named sources, people, state and dates are part of the example, not decoration. */
body[data-page] :is(.bp-page,.bfv-page) :is(
 .bp-kicker,.bfv-kicker,.bfv-text-link,.bfv-button,.bp-button,.bs-layer-copy a,.bs-sheet-foundation,
 .bs-step-number,.bs-stack-caption,.bs-memory-marks strong,
 .bfv-answer-brand,.bfv-answer-brand small,.bfv-answer-sources,
 .kex-sources-heading,.kex-sources-heading small,.kex-tabs :is(button,a),
 .kex-document-origin,.kex-document-origin>span,.kex-sender strong,.kex-sender small,
 .kex-slack-sender strong,.kex-slack-sender small,.kex-takeaway>span,
 .kex-document-subtitle,.kex-task-list strong,.kex-task-list small,.kex-event-date>span,
 .kex-event-details p,.kex-event-details strong,.kex-answer-heading,.kex-answer-heading small,
 .kex-answer-next>span,.kex-source-footer,.kex-source-footer>span,.kex-source-footer li,
 .kex-example-footer,.kex-example-footer>span,.kex-scroll-help,
 .kpo-document-section>span,.kpo-clause>div>span,.kpo-folio>footer,.kpo-folio>footer small,
 .cx-case-source,.cx-case-source small,.cx-case-update-note,.cx-case-flow-head button,
 .cx-case-step,.cx-case-answer-head,.cx-case-answer-head>small,
 .cx-case-recipient,.cx-case-recipient small,.cx-case-sources,.cx-case-note,
 .cts-record-head,.cts-branch,.cts-merged,.cts-release-label,.cts-release-state,.cts-owner,
 .cts-slack-person strong,.cts-slack-person small,.cts-commit-state,.cts-questions button,
 .cts-sources,.cts-note,.cm-record-label,.cm-revision,.cm-revision>span,
 .cm-change>span,.cm-decision-facts dt,.cm-carry,.cm-note,
 .me-chapters strong,.me-thread-top strong,.me-message-meta strong,.me-message-meta>span,
 .mr-example,.mr-step-number,.mr-scope,.mr-persistent,.mr-fact-source,.mr-context small,
 .mr-engine,.mr-swap-receipt,.mr-swap-status,.mr-continuity-note,.mr-result-source,
 .mr-candidate>span,.mr-selection-reason,.mr-route-model>span,.mr-models strong,.mr-availability
){font-size:14px;line-height:1.5;letter-spacing:0}
body[data-page] :is(.bp-page,.bfv-page) .cts-inline-question{font-size:16px!important;line-height:1.5!important}
body[data-page] :is(.bp-page,.bfv-page) .cm-timeline strong{font-size:max(14px,1em);line-height:1.4}
body[data-page] :is(.bp-page,.bfv-page) .kex-source-footer img{width:16px;height:16px}
body[data-page] :is(.bp-page,.bfv-page) .kex-event-details p>span{width:auto;min-width:48px}
body[data-page] :is(.bp-page,.bfv-page) .kex-answer-heading small{max-width:150px}
body[data-page] :is(.bp-page,.bfv-page) .kex-document-origin{flex-wrap:wrap}
body[data-page] :is(.bp-page,.bfv-page) .cx-case-sources{flex-wrap:wrap}
body[data-page] :is(.bp-page,.bfv-page) .cts-sources{flex-wrap:wrap}
body[data-page] :is(.bp-page,.bfv-page) .cm-decision-facts>div{grid-template-columns:55px minmax(0,1fr);gap:14px}
body[data-page] :is(.bp-page,.bfv-page) .cm-decision-facts dd{min-width:0}
body[data-page] :is(.bp-page,.bfv-page) .mr-result-source{flex-wrap:wrap}
@media(max-width:700px){
 body[data-page] :is(.bp-page,.bfv-page) .cm-record-label{flex-wrap:wrap;gap:5px 16px}
 body[data-page] :is(.bp-page,.bfv-page) .cm-carry{gap:8px;flex-wrap:wrap}
 body[data-page] :is(.bp-page,.bfv-page) .cm-carry span{max-width:none}
 body[data-page] :is(.bp-page,.bfv-page) .cm-timeline{gap:10px}
 body[data-page] :is(.bp-page,.bfv-page) .cm-timeline strong{overflow-wrap:anywhere}
 body[data-page] :is(.bp-page,.bfv-page) .kex-answer-heading{flex-wrap:wrap}
 body[data-page] :is(.bp-page,.bfv-page) .kex-answer-heading small{max-width:155px}
 body[data-page] :is(.bp-page,.bfv-page) .kex-example-footer>span{margin-top:10px}
 body[data-page] :is(.bp-page,.bfv-page) .kpo-folio>footer{flex-wrap:wrap;gap:8px 16px}
 body[data-page] :is(.bp-page,.bfv-page) .mr-context>div{grid-template-columns:minmax(0,1fr)}
 body[data-page] :is(.bp-page,.bfv-page) .mr-context small{max-width:none;text-align:left}
}
/* Mobile wraps the layer copy in a sticky stage; keep the same reading size. */
body[data-page] :is(.bp-page,.bfv-page) .bs-layer-copy article p{font-size:16px;line-height:1.5}
body[data-page] :is(.bp-page,.bfv-page) .bp-subnav a{font-size:14px;line-height:1.5}
body[data-page] :is(.bp-page,.bfv-page) .me-chapters p{font-size:16px;line-height:1.5}
@media(max-width:700px){
 body[data-page] .bfv-mobile-scroll .bfv-systems{width:90%}
 body[data-page] :is(.bp-page,.bfv-page) .cm-decision-facts>div{grid-template-columns:90px minmax(0,1fr);gap:12px;align-items:start}
}
/* The same decision history is available before the scroll controller starts. */
body[data-page] .cm-page:not([data-ms-mode]) .cm-record [data-bp-panel]{display:block!important}
body[data-page] .cm-page:not([data-ms-mode]) .cm-record [data-bp-panel]+[data-bp-panel]{margin-top:48px}
body[data-page] .cm-page:not([data-ms-mode]) .cm-record h3{min-height:0}
@media(max-width:700px){
 body[data-page] .bfv-mobile-scroll .bfv-systems{translate:0 -10px}
}
