/* The shared .bw26 navigation owns its styling. All lesson rules stay scoped. */
body[data-bw-content-remake] {
  margin: 0;
  background: #f5f4f0;
}
body[data-bw-content-remake] .bwcr {
  --bwcr-ink: #191923;
  --bwcr-paper: #fffefa;
  --bwcr-purple: #593a87;
  box-sizing: border-box;
  color: var(--bwcr-ink);
  font: 400 1.125rem/1.7 "Space Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;
  width: min(100% - 2rem, 70ch);
  margin: 0 auto;
  padding-block: clamp(1.5rem, 5vw, 4rem) 5rem;
  overflow-wrap: anywhere;
}
body[data-bw-content-remake] .bwcr *,
body[data-bw-content-remake] .bwcr *::before,
body[data-bw-content-remake] .bwcr *::after { box-sizing: border-box; }
body[data-bw-content-remake] .bwcr [id] {
  scroll-margin-top: calc(var(--bw-modern-header-height, 10rem) + 1.5rem);
}
body[data-bw-content-remake] .bwcr h1,
body[data-bw-content-remake] .bwcr h2,
body[data-bw-content-remake] .bwcr h3,
body[data-bw-content-remake] .bwcr h4 { line-height: 1.25; text-wrap: balance; }
body[data-bw-content-remake] .bwcr h1 { font-family: "Newsreader", Georgia, serif; font-weight: 550; font-size: clamp(2rem, 4.5vw, 3.25rem); margin: .5rem 0 1.25rem; letter-spacing: -.025em; }
body[data-bw-content-remake] .bwcr h2 { font-size: clamp(1.6rem, 3vw, 2.1rem); margin: 0 0 1.5rem; letter-spacing: -.015em; }
body[data-bw-content-remake] .bwcr h3 { font-size: 1.35rem; margin: 2rem 0 1rem; }
body[data-bw-content-remake] .bwcr h4 { font-size: 1.125rem; margin: 1.5rem 0 .75rem; }
body[data-bw-content-remake] .bwcr p { margin: 0 0 1.25em; }
body[data-bw-content-remake] .bwcr :is(ul, ol) { padding-inline-start: 1.6em; margin-block: 1rem 1.5rem; }
body[data-bw-content-remake] .bwcr li + li { margin-top: .55rem; }
body[data-bw-content-remake] .bwcr a { color: #593a87; text-decoration-thickness: .09em; text-underline-offset: .2em; }
body[data-bw-content-remake] .bwcr a:hover { text-decoration-thickness: .15em; }
body[data-bw-content-remake] .bwcr :focus-visible { outline: 3px solid #684291; outline-offset: 4px; }
body[data-bw-content-remake] .bwcr .bwcr-intro { background: #10111b; color: #fffefa; padding: clamp(1.25rem, 4vw, 2.75rem); border-radius: .75rem; margin-bottom: 2rem; }
body[data-bw-content-remake] .bwcr .bwcr-intro p:last-child { margin-bottom: 0; }
body[data-bw-content-remake] .bwcr .bwcr-eyebrow { color: #d7c7f1; font-weight: 650; }
body[data-bw-content-remake] .bwcr #contents { padding: .5rem 0 1.75rem; margin-bottom: 2rem; border-bottom: 1px solid #b7afc3; }
body[data-bw-content-remake] .bwcr #contents ol { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; padding: 0; margin: 0; list-style: none; }
body[data-bw-content-remake] .bwcr #contents li { margin: 0; min-width: 0; }
body[data-bw-content-remake] .bwcr nav a,
body[data-bw-content-remake] .bwcr .bwcr-footer > p a { display: inline-flex; align-items: center; min-height: 44px; padding-block: .5rem; }
body[data-bw-content-remake] .bwcr [data-lesson-section] { margin-block: 3.5rem; }
body[data-bw-content-remake] .bwcr .bwcr-lead { font-size: 1.25rem; line-height: 1.65; }
body[data-bw-content-remake] .bwcr :is(.bwcr-key, .bwcr-note, .bwcr-warning) { margin-block: 1.75rem; padding: 1.15rem 1.35rem; border-inline-start: 4px solid #78609e; background: #eee8f5; }
body[data-bw-content-remake] .bwcr .bwcr-warning { border-color: #9a5b20; background: #fcf0dc; }
body[data-bw-content-remake] .bwcr .bwcr-note { background: #eeede8; border-color: #78736c; }
body[data-bw-content-remake] .bwcr :is(.bwcr-key, .bwcr-note, .bwcr-warning, .bwcr-card) > :last-child { margin-bottom: 0; }
body[data-bw-content-remake] .bwcr :is(.bwcr-grid, .bwcr-compare) { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; margin-block: 1.75rem; }
body[data-bw-content-remake] .bwcr :is(.bwcr-grid, .bwcr-compare) > * { min-width: 0; }
body[data-bw-content-remake] .bwcr .bwcr-card { padding: 1.35rem; background: #fffefa; border: 1px solid #c8c0d2; border-radius: .5rem; }
body[data-bw-content-remake] .bwcr .bwcr-card > :first-child { margin-top: 0; }
body[data-bw-content-remake] .bwcr .bwcr-flow { display: flex; flex-wrap: wrap; gap: 1.25rem 2rem; padding: 1.5rem 1.5rem 1.5rem 2.75rem; border-block: 1px solid #b7afc3; }
body[data-bw-content-remake] .bwcr .bwcr-flow > * { flex: 1 1 10rem; min-width: 0; margin: 0; }
body[data-bw-content-remake] .bwcr .bwcr-figure { margin: 2rem 0; }
body[data-bw-content-remake] .bwcr svg { display: block; max-width: 100%; width: 100%; height: auto; }
/* Diagrams fit the reading column at every width (no horizontal panning on phones). The
   renderer's label-size min-width is released here; readers can zoom for detail. */
body[data-bw-content-remake] .bwcr .bwcr-svg-scroll { max-width: 100%; overflow-x: auto; padding: .35rem; }
body[data-bw-content-remake] .bwcr .bwcr-svg-scroll :is(svg, img) { max-width: 100%; min-width: 0 !important; height: auto; }
body[data-bw-content-remake] .bwcr .bwcr-caption { margin-top: .75rem; font-size: 1rem; }
body[data-bw-content-remake] .bwcr .bwcr-table-wrap { max-width: 100%; overflow-x: auto; margin-block: 1.75rem; }
body[data-bw-content-remake] .bwcr table { border-collapse: collapse; width: 100%; font: inherit; }
body[data-bw-content-remake] .bwcr :is(th, td) { padding: .75rem; text-align: start; vertical-align: top; border-bottom: 1px solid #b7afc3; overflow-wrap: anywhere; }
body[data-bw-content-remake] .bwcr th { background: #eee8f5; }
body[data-bw-content-remake] .bwcr caption { text-align: start; font-weight: 650; margin-bottom: .75rem; }
body[data-bw-content-remake] .bwcr .bwcr-check { border-inline-start: 3px solid #593a87; padding-inline-start: 1.5rem; }
body[data-bw-content-remake] .bwcr [data-case] { padding-block: 2rem; border-top: 1px solid #b7afc3; }
body[data-bw-content-remake] .bwcr [data-case] > h3 { margin-top: 0; }
body[data-bw-content-remake] .bwcr fieldset { min-inline-size: 0; padding: 0; margin: 0; border: 0; }
body[data-bw-content-remake] .bwcr legend { width: 100%; padding: 0; font-weight: 600; }
body[data-bw-content-remake] .bwcr .bwcr-options { list-style: none; padding: 0; margin-block: 1.25rem; }
body[data-bw-content-remake] .bwcr .bwcr-options label { display: flex; align-items: baseline; gap: .85rem; min-height: 44px; padding: .8rem 1rem; border: 1px solid #9c91ac; border-radius: .35rem; background: #fffefa; cursor: pointer; }
body[data-bw-content-remake] .bwcr .bwcr-options label:has(input:checked) { border-color: #593a87; background: #eee8f5; }
body[data-bw-content-remake] .bwcr input[type=radio] { width: 1.15rem; height: 1.15rem; flex: 0 0 1.15rem; accent-color: #593a87; }
body[data-bw-content-remake] .bwcr button { font: inherit; font-weight: 600; min-height: 44px; max-width: 100%; white-space: normal; padding: .7rem 1.3rem; border: 2px solid #593a87; border-radius: .35rem; background: #593a87; color: #fffefa; cursor: pointer; }
body[data-bw-content-remake] .bwcr [hidden] { display: none !important; }
body[data-bw-content-remake] .bwcr .bwcr-status { margin-block: 1rem; font-weight: 600; }
body[data-bw-content-remake] .bwcr .bwcr-status:empty { margin: 0; }
/* A disclosure sets its text colour with its own background, so it stays readable inside
   panels that set a light text colour for a dark surface. */
body[data-bw-content-remake] .bwcr details { margin-top: 1rem; padding: .75rem 1rem; background: #eeede8; color: var(--bwcr-ink, #191923); border: 1px solid #b7afc3; border-radius: .35rem; }
body[data-bw-content-remake] .bwcr summary { min-height: 44px; padding-block: .5rem; cursor: pointer; font-weight: 600; }
body[data-bw-content-remake] .bwcr .bwcr-rationales { list-style: none; padding: 0; }
body[data-bw-content-remake] .bwcr .bwcr-rationale { margin-top: 1.5rem; }
body[data-bw-content-remake] .bwcr .bwcr-rationale p:first-child { margin-bottom: .5rem; }
body[data-bw-content-remake] .bwcr .bwcr-takeaway { padding-top: 1rem; border-top: 1px solid #b7afc3; }
body[data-bw-content-remake] .bwcr .bwcr-footer { border-top: 2px solid #78609e; margin-top: 4rem; padding-top: 2rem; }
body[data-bw-content-remake] .bwcr .bwcr-sources li { padding-inline-start: .5rem; margin-bottom: 1.5rem; }
body[data-bw-content-remake] .bwcr .bwcr-sources p { margin-bottom: .5rem; }
body[data-bw-content-remake] .bwcr .bwcr-sr-only,
body[data-bw-content-remake] .bwcr .bwcr-skip:not(:focus) { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
body[data-bw-content-remake] .bwcr .bwcr-skip:focus { display: block; min-height: 44px; padding: .75rem; margin-bottom: 1rem; background: #fffefa; }
@media (max-width: 42rem) {
  body[data-bw-content-remake] .bwcr :is(.bwcr-grid, .bwcr-compare) { grid-template-columns: minmax(0, 1fr); }
  body[data-bw-content-remake] .bwcr .bwcr-flow { flex-direction: column; }
  body[data-bw-content-remake] .bwcr .bwcr-flow > * { flex-basis: auto; }
}
@media (prefers-reduced-motion: reduce) {
  body[data-bw-content-remake] .bwcr { scroll-behavior: auto; }
  body[data-bw-content-remake] .bwcr * { animation: none !important; transition: none !important; }
}

/* Preserve the semantic table while giving each mobile cell a readable label. */
body[data-bw-content-remake] .bwcr .bwcr-cell-label { display: none; }
body[data-bw-content-remake] .bwcr .bwcr-responsive-table th { overflow-wrap: normal; }
@media (max-width: 42rem) {
  body[data-bw-content-remake] .bwcr table.bwcr-responsive-table,
  body[data-bw-content-remake] .bwcr .bwcr-responsive-table tbody { display: block; width: 100%; }
  body[data-bw-content-remake] .bwcr .bwcr-responsive-table > caption { display: block; width: 100%; }
  body[data-bw-content-remake] .bwcr .bwcr-responsive-table thead {
    position: absolute; width: 1px; height: 1px; margin: -1px;
    overflow: hidden; clip-path: inset(50%); white-space: nowrap;
  }
  body[data-bw-content-remake] .bwcr .bwcr-responsive-table tbody > tr {
    display: block; padding: .75rem 1rem; margin-bottom: 1rem;
    border: 1px solid #b7afc3; border-radius: .4rem; background: #fffefa; color: var(--bwcr-ink, #191923);
  }
  /* Cells drop their own fill here, so they also take the card's text colour. */
  body[data-bw-content-remake] .bwcr .bwcr-responsive-table tbody :is(th, td) {
    display: block; width: auto; min-width: 0; padding: .65rem 0;
    border: 0; background: transparent; color: inherit; text-align: start;
  }
  body[data-bw-content-remake] .bwcr .bwcr-responsive-table .bwcr-cell-label {
    display: block; margin-bottom: .3rem; font-size: 1rem;
    font-weight: 650; color: #593a87;
  }
}

/* Companion diagram frames fit the reading column too: the cord, NMJ, radiculopathy, renal
   injury, lane 4 and muscle companions set label-size minimum widths that forced sideways
   panning on phones. Enlarge controls and browser zoom remain for detail; notes that only
   told the reader to scroll sideways no longer apply. */
body[data-bw-content-remake] .bwcr :is(.cord-diagram-scroll, .nmj-model-scroll, .rad-figure-scroll, .ri-figure, .l4-model-visual, .l4-figure-scroll, .bwm-image-scroll) :is(svg, img) {
  min-width: 0 !important; max-width: 100% !important; height: auto;
}
body[data-bw-content-remake] .bwcr :is(.cord-scroll-note, .rad-scroll-note) { display: none; }
body[data-bw-content-remake] .bwcr .bwm-image-scroll::before { content: none; }

/* The activity layer is optional; all core teaching stays in document flow. */
body[data-bw-content-remake] .bwcr .bwcr-study-tools {
  margin-block: 1.75rem 2rem; padding: 1.25rem 1.4rem;
  border: 1px solid #b5a7c8; border-radius: .75rem; background: #eee8f5;
}
body[data-bw-content-remake] .bwcr .bwcr-activity-label {
  color: #593a87; font-size: .95rem; font-weight: 700; margin-bottom: .65rem;
}
body[data-bw-content-remake] .bwcr .bwcr-tool-note { font-size: 1rem; line-height: 1.65; }
body[data-bw-content-remake] .bwcr .bwcr-tool-row {
  display: flex; flex-wrap: wrap; align-items: center; gap: .65rem;
  margin-block: .8rem 1rem; max-width: 100%;
}
body[data-bw-content-remake] .bwcr .bwcr-tool-row > * { min-width: 0; }
body[data-bw-content-remake] .bwcr .bwcr-study-link {
  display: inline-flex; align-items: center; min-height: 44px;
  padding: .55rem .8rem; font-weight: 600;
}
body[data-bw-content-remake] .bwcr button.bwcr-secondary {
  background: transparent; color: #593a87; border: 1px solid #88709f;
  font-weight: 500; font-size: 1rem; padding: .55rem .85rem;
}
body[data-bw-content-remake] .bwcr button.bwcr-secondary[aria-pressed=true] {
  background: #e5d8f3; border-color: #593a87; font-weight: 650;
}
body[data-bw-content-remake] .bwcr button:disabled { cursor: default; opacity: .6; }
body[data-bw-content-remake] .bwcr .bwcr-checkpoint {
  margin-block: 2.25rem; padding: 1.3rem; border-inline-start: 4px solid #725191;
  border-radius: .2rem .6rem .6rem .2rem; background: #efebf4;
}
body[data-bw-content-remake] .bwcr [data-inline-check] { border-top: 0; padding-block: .3rem 0; }
body[data-bw-content-remake] .bwcr [data-cover-choices] { margin: .6rem 0; }
body[data-bw-content-remake] .bwcr .bwcr-case-tools { margin-bottom: 0; }
body[data-bw-content-remake] .bwcr .bwcr-pause-point {
  display: flex; align-items: center; flex-wrap: wrap; gap: .7rem; margin-block: 1.5rem 0;
}
body[data-bw-content-remake] .bwcr .bwcr-pause-point span { font-size: 1rem; }
body[data-bw-content-remake] .bwcr [data-revisit-list] a { overflow-wrap: anywhere; }
body[data-bw-content-remake] .bwcr.bwcr-roomy {
  width: min(100% - 2rem, 60ch); font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: 1.2rem; line-height: 1.9; letter-spacing: .015em;
}
body[data-bw-content-remake] .bwcr.bwcr-roomy p { margin-bottom: 1.5em; }
body[data-bw-content-remake] .bwcr .bwcr-lab {
  margin-block: 2rem; padding: clamp(1.2rem, 3vw, 2rem);
  border: 1px solid #6d568c; border-radius: .75rem; background: #191726; color: #fffefa;
}
body[data-bw-content-remake] .bwcr .bwcr-lab h3 { margin-top: .6rem; }
body[data-bw-content-remake] .bwcr .bwcr-lab :is(.bwcr-activity-label,a) { color: #ded0f7; }
body[data-bw-content-remake] .bwcr .bwcr-lab label {
  display: block; margin-block: 1.2rem .3rem; font-weight: 600; line-height: 1.5;
}
body[data-bw-content-remake] .bwcr .bwcr-lab input[type=range] {
  display: block; width: 100%; min-width: 0; height: 44px; margin: 0;
  accent-color: #d2b7f9;
}
body[data-bw-content-remake] .bwcr .bwcr-lab [data-lab-output] {
  display: block; padding-block: 1rem; font-size: clamp(1.35rem, 2.4vw, 1.8rem);
  line-height: 1.45; font-weight: 650; color: #e1d3f8;
}
body[data-bw-content-remake] .bwcr .bwcr-lab button {
  background: #d2b7f9; color: #171222; border-color: #d2b7f9;
}
body[data-bw-content-remake] .bwcr .bwcr-lab button.bwcr-secondary {
  background: transparent; color: #eee5fd; border-color: #ccb3ec;
}
body[data-bw-content-remake] .bwcr .bwcr-lab :focus-visible { outline-color: #f4e9ff; }
@media (max-width: 26rem) {
  body[data-bw-content-remake] .bwcr .bwcr-checkpoint { padding: .9rem; }
  body[data-bw-content-remake] .bwcr .bwcr-study-tools { padding: 1rem; }
}
@media print {
  body[data-bw-content-remake] .bwcr :is([data-study-tools],.bwcr-case-tools,[data-cover-choices],.bwcr-pause-point,[data-lab-controls]) { display: none !important; }
  body[data-bw-content-remake] .bwcr .bwcr-options[hidden],
  body[data-bw-content-remake] .bwcr fieldset[hidden] { display: block !important; }
}

/* Supplementary reasoning stays separate from the continuously visible lesson. */
body[data-bw-content-remake] .bwcr .bwcr-reasoning {
  margin-block: 1.5rem 2.5rem; padding: clamp(1rem, 3vw, 1.6rem);
  background: #f0eaf6; border: 1px solid #b1a1c4; border-inline-start: 4px solid #69458c;
  border-radius: .25rem .75rem .75rem .25rem;
}
body[data-bw-content-remake] .bwcr .bwcr-reason-kicker {
  color: #593a87; font-weight: 700; font-size: 1rem; margin-bottom: .6rem;
}
body[data-bw-content-remake] .bwcr .bwcr-reasoning > h3 {
  margin-block: .25rem 1.15rem; font-size: clamp(1.3rem, 2.3vw, 1.6rem);
}
body[data-bw-content-remake] .bwcr .bwcr-reason-options {
  display: grid; gap: .7rem; margin-block: 1.25rem; min-width: 0;
}
body[data-bw-content-remake] .bwcr .bwcr-reason-options label {
  display: flex; gap: .75rem; align-items: baseline; min-height: 44px;
  padding: .85rem 1rem; background: #fffefa; border: 1px solid #9c89b2;
  border-radius: .4rem; cursor: pointer; min-width: 0;
}
body[data-bw-content-remake] .bwcr .bwcr-reason-options label:has(input:checked) {
  background: #e7dcf1; border-color: #593a87;
}
body[data-bw-content-remake] .bwcr .bwcr-reason-options input[type=radio] {
  flex: 0 0 1.15rem; width: 1.15rem; height: 1.15rem; accent-color: #593a87;
}
body[data-bw-content-remake] .bwcr [data-reasoning-response]:not(:empty) {
  background: #fffefa; border-radius: .4rem; padding: 1rem; margin-block: 1rem;
}
body[data-bw-content-remake] .bwcr [data-reasoning-response] > :last-child { margin-bottom: 0; }
body[data-bw-content-remake] .bwcr [data-reasoning-explanation] {
  background: #fffefa; padding: .65rem 1rem;
}
body[data-bw-content-remake] .bwcr .bwcr-reason-foundation {
  padding: 1rem 0 .2rem; border-top: 1px solid #d0c6dc;
}
body[data-bw-content-remake] .bwcr .bwcr-reason-foundation p:first-child { margin-bottom: .6rem; }
body[data-bw-content-remake] .bwcr .bwcr-reason-steps { padding-inline-start: 1.5rem; }
body[data-bw-content-remake] .bwcr .bwcr-reason-steps li { padding-inline-start: .1rem; }
body[data-bw-content-remake] .bwcr .bwcr-reason-steps li::marker { color: #593a87; font-weight: 700; }
body[data-bw-content-remake] .bwcr [data-reasoning-step] { margin-top: .7rem; background: #f5f1f8; }
body[data-bw-content-remake] .bwcr [data-reasoning-step] p { padding-top: .5rem; }
body[data-bw-content-remake] .bwcr .bwcr-reason-analogy {
  margin-block: 1.5rem; padding: 1.1rem; background: #eeede8; border-radius: .45rem;
}
body[data-bw-content-remake] .bwcr .bwcr-reason-map {
  display: grid; grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 1.2rem; list-style: none; margin: 1.5rem 0; padding: 0;
}
body[data-bw-content-remake] .bwcr .bwcr-reason-map li {
  position: relative; min-width: 0; margin: 0; padding: .9rem .7rem;
  background: #e9e0f2; border: 1px solid #b1a1c4; border-radius: .35rem;
  font-size: 1rem; line-height: 1.55; text-align: center;
}
body[data-bw-content-remake] .bwcr .bwcr-reason-map li + li::before {
  content: '\2192'; position: absolute; left: -1.05rem; top: calc(50% - .75em);
  color: #593a87; font-weight: 700;
}
body[data-bw-content-remake] .bwcr .bwcr-reason-punch { border-top: 2px solid #b1a1c4; padding-top: 1rem; }
body[data-bw-content-remake] .bwcr .bwcr-reason-option { margin-bottom: .6rem; }
body[data-bw-content-remake] .bwcr [data-reasoning-feedback] {
  border-top: 1px solid #b7afc3; margin-top: 1rem; padding-top: 1rem;
}
body[data-bw-content-remake] .bwcr .bwcr-reason-callbacks {
  margin-block: 2rem; padding: 1.3rem; border: 1px solid #b1a1c4;
  border-radius: .6rem; background: #f0eaf6;
}
body[data-bw-content-remake] .bwcr .bwcr-reason-callbacks > h3 { margin-top: 0; }
body[data-bw-content-remake] .bwcr .bwcr-reason-callbacks details { background: #fffefa; }
body[data-bw-content-remake] .bwcr .bwcr-reasoning :is(p,li,summary,label) {
  overflow-wrap: anywhere;
  word-break: break-word;
}
@media (max-width: 42rem) {
  body[data-bw-content-remake] .bwcr .bwcr-reasoning { padding: .75rem .5rem; }
  body[data-bw-content-remake] .bwcr [data-reasoning-explanation] { padding: .5rem .35rem; }
  body[data-bw-content-remake] .bwcr .bwcr-reason-steps { padding-inline-start: .75rem; }
  body[data-bw-content-remake] .bwcr [data-reasoning-step] { padding: .4rem .35rem; }
  body[data-bw-content-remake] .bwcr .bwcr-reason-map { grid-template-columns: minmax(0,1fr); }
  body[data-bw-content-remake] .bwcr .bwcr-reason-map li + li::before {
    content: '\2193'; left: calc(50% - .35em); top: -1.45rem;
  }
}
@media print {
  body[data-bw-content-remake] .bwcr [data-reasoning-form] .bwcr-tool-row,
  body[data-bw-content-remake] .bwcr [data-reasoning-expand] { display: none !important; }
}

/* Both lesson renderers need the same shrinkable question container. */
body[data-bw-content-remake] .bwcr .bwcr-reasoning fieldset {
  min-inline-size: 0; margin: 0; padding: 0; border: 0;
}
body[data-bw-content-remake] .bwcr .bwcr-reasoning legend {
  max-width: 100%; padding: 0; overflow-wrap: anywhere;
}

/* Keep enlarged activity labels whole on the smallest native-reader viewport.
   Reduce horizontal inset, not text size or the vertical touch target. */
@media (max-width: 360px) {
  :is(html:is([data-bw-app-mode="1"], [data-bw-native-reader-ready="1"], :has(#bw-native-reader-style)) body[data-bw-content-remake],
      body[data-bw-content-remake].bw-ios-app-mode) .bwcr [data-topic-activity] [data-topic-choice] {
    padding-inline: 4px;
  }
}

@media (max-width: 360px) {
  :is(html:is([data-bw-app-mode="1"], [data-bw-native-reader-ready="1"], :has(#bw-native-reader-style)) body[data-bw-content-remake],
      body[data-bw-content-remake].bw-ios-app-mode) .bwcr [data-topic-activity] {
    padding-inline: 8px;
  }
}

/* Purposeful tasks inside the continuous, app-compatible lesson surface. */
body[data-bw-content-remake] .bwcr [data-topic-controls][hidden] { display: none !important; }
body[data-bw-content-remake] .bwcr [data-topic-row] { margin-block: 1rem; }
body[data-bw-content-remake] .bwcr [data-topic-row] button { margin: .25rem; }
body[data-bw-content-remake] .bwcr [data-topic-reset] { margin-top: .6rem; }
body[data-bw-content-remake] .bwcr .bwcr-topic-activity {
  margin-block: 1.4rem 2rem; padding: clamp(.85rem,2.5vw,1.4rem);
  border: 1px solid #b4a8c1; border-inline-start: 4px solid #69508b;
  border-radius: .35rem .7rem .7rem .35rem; background: #f3edf8;
}
body[data-bw-content-remake] .bwcr .bwcr-topic-activity h3 { margin-top: 0; }
body[data-bw-content-remake] .bwcr .bw-activity :is(.bw-options,.bw-order-grid,.bw-direction-rows) { display: grid; gap: .7rem; }
body[data-bw-content-remake] .bwcr .bw-activity button {
  min-height: 44px; min-width: 0; max-width: 100%; padding: .8rem 1rem;
  font: inherit; line-height: 1.6; color: #221b2e; background: #fffdf8;
  border: 1px solid #8d78a9; border-radius: .35rem; white-space: normal;
  text-align: left; overflow-wrap: anywhere; opacity: 1;
}
body[data-bw-content-remake] .bwcr .bw-activity button[aria-pressed=true] { border-color: #593a87; background: #e5d9f0; }
body[data-bw-content-remake] .bwcr .bw-activity button[data-state=correct],
body[data-bw-content-remake] .bwcr .bw-activity button[data-state=matched] { border-color: #2b6854; background: #e8f3ed; }
body[data-bw-content-remake] .bwcr .bw-activity button:focus-visible { outline: 3px solid #593a87; outline-offset: 3px; }
body[data-bw-content-remake] .bwcr .bw-activity button:disabled { cursor: default; opacity: 1; color: #221b2e; }
body[data-bw-content-remake] .bwcr .bw-match-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .8rem; }
body[data-bw-content-remake] .bwcr .bw-match-grid > div { display: grid; align-content: start; gap: .7rem; min-width: 0; }
body[data-bw-content-remake] .bwcr [data-bw-direction-row] { margin-block: 1rem; }
body[data-bw-content-remake] .bwcr [data-bw-direction-row] > div { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .6rem; }
body[data-bw-content-remake] .bwcr [data-bw-direction-row] small { display: block; font-size: 1rem; margin-top: .6rem; line-height: 1.65; }
body[data-bw-content-remake] .bwcr .bw-feedback:not(:empty) { margin: 1rem 0; padding: .9rem; background: #fffdf8; border-radius: .35rem; }
body[data-bw-content-remake] .bwcr [data-bw-activity-reset] { margin-top: .6rem; }
body[data-bw-content-remake] .bwcr [data-topic-answer-guide] { margin-top: 1.2rem; background: #fffdf8; }
body[data-bw-content-remake] .bwcr .bwcr-topic-activity :is(p,li,span,strong,summary,small) { overflow-wrap: anywhere; }
@media(max-width:36rem) { body[data-bw-content-remake] .bwcr .bw-match-grid { grid-template-columns: minmax(0,1fr); } }

/* Native containers may force a dark body. Keep the reviewed reading palette paired.
   This does not recolor clinical diagrams or alter ordinary website presentation. */
:is(html:is([data-bw-app-mode="1"], [data-bw-native-reader-ready="1"], :has(#bw-native-reader-style)) body[data-bw-content-remake],
    body[data-bw-content-remake].bw-ios-app-mode) {
  background: #f5f4f0 !important;
  color: #191923;
  color-scheme: light;
}
:is(html:is([data-bw-app-mode="1"], [data-bw-native-reader-ready="1"], :has(#bw-native-reader-style)) body[data-bw-content-remake],
    body[data-bw-content-remake].bw-ios-app-mode) > :is(#bw-global-header, .bw26-site-header) {
  display: none !important;
}
:is(html:is([data-bw-app-mode="1"], [data-bw-native-reader-ready="1"], :has(#bw-native-reader-style)) body[data-bw-content-remake],
    body[data-bw-content-remake].bw-ios-app-mode) main.bwcr {
  --bw-modern-header-height: 0px;
  color: var(--bwcr-ink, #191923);
  background: #f5f4f0;
  color-scheme: light;
  padding-top: max(1.25rem, env(safe-area-inset-top, 0px)) !important;
  padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 8rem) !important;
}
:is(html:is([data-bw-app-mode="1"], [data-bw-native-reader-ready="1"], :has(#bw-native-reader-style)) body[data-bw-content-remake],
    body[data-bw-content-remake].bw-ios-app-mode) .bwcr [id] {
  scroll-margin-top: 1.25rem;
  scroll-margin-bottom: calc(env(safe-area-inset-bottom, 0px) + 8rem);
}
/* The native reader labels legacy tables. Keep its labels legible on the
   lesson's paper canvas, and do not duplicate labels already rendered here. */
html:has(#bw-native-reader-style) body[data-bw-content-remake] .bwcr :is(td, th)[data-bw-row-header] {
  color: var(--bwcr-ink, #191923) !important;
  background: transparent;
}
html:has(#bw-native-reader-style) body[data-bw-content-remake] .bwcr :is(td, th)::before {
  color: #593a87;
}
html:has(#bw-native-reader-style) body[data-bw-content-remake] .bwcr .bwcr-responsive-table :is(td, th)::before {
  content: none !important;
  display: none !important;
}
/* Native table rules set width:100% !important on the visually hidden header.
   Keep the header accessible without letting its offscreen box widen the page. */
@media (max-width: 54rem) {
  :is(html:is([data-bw-app-mode="1"], [data-bw-native-reader-ready="1"], :has(#bw-native-reader-style)) body[data-bw-content-remake],
      body[data-bw-content-remake].bw-ios-app-mode) .bwcr table thead {
    width: 1px !important;
    max-width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
  }
}
