/* Scoped to this lesson. No ambient motion, timers, fixed-height reading cards or storage. */
body[data-ab-lesson] main { font-size: 1.125rem; line-height: 1.7; }
body[data-ab-lesson] main :is(p,li,td,th,label,summary,button) { font-size: inherit; }
body[data-ab-lesson] main h1 { font-size: clamp(1.8rem, 4vw, 2.5rem); line-height: 1.2; }
body[data-ab-lesson] main section { scroll-margin-top: 6rem; }
body[data-ab-lesson] :is(.ab-model,.ab-sequence,.ab-figure) { box-sizing: border-box; max-width: 46rem; margin: 1.5rem 0 2rem; color: #172a3a; }
body[data-ab-lesson] .ab-model { padding: 1rem; background: #f6fafb; border: 2px solid #9ab9c2; border-radius: 1rem; }
body[data-ab-lesson] .ab-model h3 { margin: 0 0 .75rem; font-size: 1.4em; line-height: 1.35; }
body[data-ab-lesson] .ab-model-canvas { width: 100%; max-width: 28rem; margin: 1rem auto; }
body[data-ab-lesson] .ab-live-diagram { display: block; width: 100%; height: auto; overflow: visible; }
body[data-ab-lesson] .ab-live-diagram text { font: 22px system-ui, sans-serif; fill: #172a3a; }
body[data-ab-lesson] .ab-axis { fill: none; stroke: #496477; stroke-width: 2; }
body[data-ab-lesson] .ab-reference { fill: #c6e5db; stroke: #287663; stroke-width: 1.5; }
body[data-ab-lesson] .ab-curve { fill: none; stroke: #5144b8; stroke-width: 3; }
body[data-ab-lesson] .ab-marker { fill: #172a3a; stroke: #fff; stroke-width: 2; }
body[data-ab-lesson] .ab-marker-line { fill: none; stroke: #172a3a; stroke-width: 4; }
body[data-ab-lesson] .ab-sodium { fill: #596d82; }
body[data-ab-lesson] .ab-chloride { fill: #6759bf; }
body[data-ab-lesson] .ab-bicarbonate { fill: #087f8c; }
body[data-ab-lesson] .ab-gap { fill: #dca33a; }
body[data-ab-lesson] :is(.ab-sodium,.ab-chloride,.ab-bicarbonate,.ab-gap) { stroke: #172a3a; stroke-width: 1.5; }
body[data-ab-lesson] .ab-controls { display: flex; flex-wrap: wrap; gap: .65rem; align-items: center; margin: 1rem 0; }
body[data-ab-lesson] [hidden] { display: none !important; }
body[data-ab-lesson] .ab-controls label { display: block; flex: 1 1 100%; font-weight: 600; }
body[data-ab-lesson] .ab-controls output { float: right; font-weight: 800; padding-left: .75rem; }
body[data-ab-lesson] .ab-controls input[type="range"] { display: block; width: 100%; min-height: 44px; margin: .35rem 0; accent-color: #245f6a; }
body[data-ab-lesson] :is(.ab-model,.ab-sequence,#ab-image-dialog) button { min-height: 44px; max-width: 100%; padding: .6em .85em; border: 2px solid #245f6a; border-radius: .6rem; background: #fff; color: #194d56; font: inherit; line-height: 1.4; white-space: normal; overflow-wrap: anywhere; cursor: pointer; transform: none; }
body[data-ab-lesson] .ab-controls [aria-pressed="true"] { background: #194d56; color: #fff; border-style: double; }
body[data-ab-lesson] :is(button,summary,a,input):focus-visible { outline: 3px solid #7054bb; outline-offset: 3px; }
body[data-ab-lesson] .ab-result { padding: .8rem; border-left: 4px solid #245f6a; background: #e7f2ef; line-height: 1.65; }
body[data-ab-lesson] .ab-worked { max-width: 46rem; margin: 1rem 0 2rem; padding: .2rem 0 .2rem 1rem; border-left: 3px solid #c7d3d9; }
body[data-ab-lesson] .ab-worked h4 { margin: .3rem 0; font-size: 1em; }
body[data-ab-lesson] .ab-worked p { margin: .5rem 0; }
body[data-ab-lesson] .ab-sequence { padding: .9rem; border: 1px solid #bdcbd2; border-radius: .75rem; background: #fff; }
body[data-ab-lesson] .ab-sequence h3 { margin: 0 0 .4rem; font-size: 1.2em; line-height: 1.4; }
body[data-ab-lesson] .ab-instruction { color: #405564; margin: .4rem 0 .8rem; }
body[data-ab-lesson] .ab-sequence details { border-top: 1px solid #d9e2e6; padding: .25rem 0; }
body[data-ab-lesson] .ab-sequence summary { min-height: 44px; box-sizing: border-box; padding: .55rem .2rem; cursor: pointer; overflow-wrap: anywhere; }
body[data-ab-lesson] .ab-sequence details > p { margin: .2rem 0 .7rem; padding: .55rem .7rem; border-left: 3px solid #287663; background: #f0f7f5; }
body[data-ab-lesson] .ab-step-number { font-weight: 800; color: #405564; padding-right: .25rem; }
body[data-ab-lesson] .ab-rule { padding: .65rem; background: #f4f0fc; border-left: 4px solid #7054bb; }
body[data-ab-lesson] .ab-sequence [data-ab-retry] { margin-top: .75rem; }
body[data-ab-lesson] .ab-figure { max-width: 35rem; padding: .5rem 0; }
body[data-ab-lesson] .ab-figure img { display: block; width: 100%; height: auto; border: 1px solid #bdcbd2; border-radius: .75rem; background: #fff; }
body[data-ab-lesson] .ab-figure figcaption { margin: .6rem 0 0; line-height: 1.6; color: #344c5e; }
body[data-ab-lesson] .ab-figure figcaption [data-ab-enlarge] { display: inline-flex; min-height: 44px; align-items: center; padding: .15rem .35rem; }
body[data-ab-lesson] .ab-option-reasoning { margin: .5rem 0 1rem; }
body[data-ab-lesson] .ab-option-reasoning > summary { min-height: 44px; cursor: pointer; padding: .5rem; }
body[data-ab-lesson] .ab-option-reasoning .ab-sequence { margin: .5rem 0; }
body[data-ab-lesson] .ab-definition { border-left: 3px solid #9ab9c2; padding-left: .8rem; }
body[data-ab-lesson] #ab-image-dialog { box-sizing: border-box; width: min(94vw, 60rem); max-height: 92dvh; padding: 1rem; border: 2px solid #405564; border-radius: .8rem; overflow: auto; color: #172a3a; background: #fff; font-size: 1.125rem; }
body[data-ab-lesson] #ab-image-dialog::backdrop { background: rgb(15 30 45 / .7); }
body[data-ab-lesson] #ab-image-dialog img { display: block; width: 100%; height: auto; object-fit: contain; }
body[data-ab-lesson] #ab-image-dialog #ab-image-title { font-size: 1.3em; line-height: 1.4; overflow-wrap: anywhere; }
body[data-ab-lesson] #ab-image-dialog p { line-height: 1.65; }
@media (max-width: 480px) {
  body[data-ab-lesson] .ab-model { padding: .65rem; }
  body[data-ab-lesson] .ab-sequence { padding: .65rem; }
}
body[data-ab-lesson] .ab-module { max-width: 46rem; margin: 1.5rem 0 2rem; }
body[data-ab-lesson] .ab-module > .ab-model { margin-bottom: 1rem; }
body[data-ab-lesson] .ab-adjust { flex: 1 1 100%; }
body[data-ab-lesson] :is(.ab-adjust,.ab-navigation) > summary { min-height: 44px; box-sizing: border-box; padding: .6rem .2rem; cursor: pointer; }
body[data-ab-lesson] .ab-navigation { margin: .5rem 0 1.5rem; }
body[data-ab-lesson] .ab-live-diagram text { font-size: 24px; }
body[data-ab-lesson] .ab-live-diagram * { animation: none !important; transition: none !important; }
body[data-ab-lesson] .ab-practice { max-width: 46rem; padding: 1rem; margin: 1rem 0; background: #f6fafb; border: 1px solid #9ab9c2; border-radius: .75rem; }
body[data-ab-lesson] .ab-practice label { display: block; margin-bottom: .5rem; font-weight: 700; }
body[data-ab-lesson] .ab-practice select { width: 100%; box-sizing: border-box; min-height: 48px; padding: .5rem; color: #172a3a; background: #fff; font: inherit; border: 2px solid #245f6a; border-radius: .5rem; }
body[data-ab-lesson] .ab-practice button { min-height: 44px; padding: .6em .85em; border: 2px solid #245f6a; border-radius: .6rem; background: #fff; color: #194d56; font: inherit; line-height: 1.4; white-space: normal; }
body[data-ab-lesson] .ab-practice button:disabled { color: #405564; border-color: #9ab9c2; background: #e4ebee; cursor: default; }
body[data-ab-lesson] .ab-source-links { margin-top: -.6rem; }
body[data-ab-lesson] [data-ab-image-host] { overflow-x:auto; max-width:100%; padding:.25rem; }
body[data-ab-lesson] #ab-image-dialog [data-ab-image-host] img { width:48rem; min-width:48rem; max-width:none; }
body[data-ab-lesson] .ab-model-canvas { max-width:22rem; margin:.7rem auto; }
body[data-ab-lesson] .ab-result { margin:.65rem 0 0; padding:.6rem; }
body[data-ab-lesson] .ab-model h3 { margin:0 0 .5rem; }
body[data-ab-lesson] .ab-model > p { margin:.5rem 0; }
body[data-ab-lesson] .ab-controls { margin:.65rem 0; gap:.5rem; }

body[data-ab-lesson] .bwcr .bwcr-intro {padding:0;margin:.5rem 0 1rem;}
body[data-ab-lesson] .bwcr .bwcr-intro h1 {font-size:2rem;line-height:1.2;margin:.4rem 0 .7rem;}
body[data-ab-lesson] .bwcr .bwcr-intro p {margin:.5rem 0;}

body[data-ab-lesson] .bwcr .ab-adjust {padding:0;margin:0;border:0;background:transparent;}
body[data-ab-lesson] .bwcr .ab-adjust > summary {padding:.5rem 0;min-height:44px;}

body[data-ab-lesson] #lesson :is(p,li,td,th,label,summary,button,figcaption) {font-size:1.125rem;}

/* release-cache-bust: 20260919 */
