/* Only hemoglobin components; no global shell or other-lesson selectors. */
.hb-activity{margin:1.4rem 0 2rem;padding:clamp(12px,3vw,24px);border:1px solid #bdcbd6;border-radius:1rem;background:#f7fafc;color:#18384b;font-size:1.125rem;line-height:1.65;min-width:0}
.hb-activity *,.hb-reasoning *{box-sizing:border-box}
.hb-predict{font-weight:700;border-left:4px solid #9a3958;padding-left:.8rem}
.hb-activity figure{margin:1rem 0;min-width:0}
.hb-activity img{display:block;width:100%;height:auto;border-radius:.6rem}
.hb-diagram-scroll{overflow-x:auto;max-width:100%;border-radius:.6rem}
.hb-activity .hb-diagram-scroll svg{display:block;width:100%;min-width:0;max-width:360px!important;height:auto;margin-inline:auto}
.hb-activity figcaption{font-size:1.125rem;line-height:1.6;margin-top:.65rem}
.hb-credit{display:block;color:#38556a;margin-top:.4rem}
.hb-credit:empty{display:none}
.hb-activity [data-hb-worked-wrap]>summary{min-height:44px;padding:.65rem 0;cursor:pointer;font-weight:600}
.hb-activity a{color:#115b87;text-decoration:underline;text-underline-offset:.15em}
.hb-activity [data-hb-enlarge]{display:inline-flex;align-items:center;min-height:44px;margin:.3rem 0}
.hb-activity button,.hb-reasoning button,.hb-lightbox button{font:inherit;line-height:1.35;min-height:44px;padding:.65rem .85rem;border:2px solid #246180;border-radius:.5rem;background:#fff;color:#174864;cursor:pointer;max-width:100%;white-space:normal;overflow-wrap:anywhere}
.hb-activity button:hover,.hb-reasoning button:hover{background:#e1eff5}
.hb-activity button:disabled{color:#536774;border-color:#91a4b0;background:#e8eef2;cursor:default}
.hb-activity :focus-visible,.hb-reasoning :focus-visible,.hb-lightbox :focus-visible{outline:3px solid #a13a60;outline-offset:3px}
.hb-activity [data-hb-controls]{display:flex;flex-wrap:wrap;gap:.65rem;margin:1rem 0}
.hb-activity label{display:block;flex-basis:100%;font-weight:700}
.hb-activity input[type=range]{display:block;width:100%;height:44px;accent-color:#9a3958;margin:0}
.hb-activity select{font:inherit;line-height:1.4;min-height:44px;width:100%;max-width:100%;background:white;color:#18384b;border:1px solid #456478;border-radius:.4rem;padding:.5rem}
.hb-buttons{display:flex;flex-wrap:wrap;gap:.6rem;min-width:0}
.hb-activity [data-hb-output]{display:block;padding:1rem;background:#e2edf3;border-left:4px solid #246180;border-radius:.4rem;margin:1rem 0;font-variant-numeric:tabular-nums}
.hb-activity [data-hb-worked]{border-top:1px solid #bdcbd6;padding-top:1rem}
.hb-reasoning{font-size:1.125rem;line-height:1.65;margin:1.2rem 0}
.hb-reasoning ol{padding-left:1.5rem}
.hb-reasoning li{padding:.25rem 0 1rem}
.hb-reasoning p{margin:.6rem 0}
.hb-reasoning [data-hb-fact]{border-left:3px solid #126c8a;padding-left:.8rem}
.hb-reasoning li:last-child [data-hb-fact]{font-weight:700}
.hb-full summary,[data-hb-option-fold]>summary{min-height:44px;padding:.65rem 0;cursor:pointer;overflow-wrap:anywhere}
.hb-lightbox{width:min(96vw,70rem);max-height:94vh;overflow:auto;border:2px solid #456478;border-radius:.8rem;background:#fff;color:#18384b;padding:1rem;font-size:1.125rem;line-height:1.6}
.hb-lightbox::backdrop{background:rgb(9 24 37 / 75%)}
.hb-lightbox img{display:block;width:100%;height:auto;margin-top:1rem}
.hb-lightbox h2{font-size:1.35rem}
.hb-activity [hidden],.hb-reasoning [hidden]{display:none!important}
@media(prefers-reduced-motion:reduce){.hb-activity *,.hb-reasoning *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
