.bio-home-my-prep { margin: 16px 0 20px; padding: 20px 24px; border-left: 6px solid #df7b43 !important; background: #e7f1df; }
.bio-home-my-prep h2 { color: #123c31; font: 700 clamp(1.4rem, 2.8vw, 2rem)/1.15 var(--serif); margin: 0 0 7px; }
.bio-home-my-prep p:not(.bio-kicker) { margin: 0 0 15px; color: #395945; }
.bio-home-my-prep .btn { margin-right: 7px; }
.bio-home-page .bio-feature-grid { margin-top: 0; }
.bio-prep-wrap { max-width: 1130px; padding-bottom: 56px; }
.bio-prep-hero {
  display: flex; justify-content: space-between; align-items: end; gap: 24px;
  margin: 18px 0 16px; padding: clamp(28px, 5vw, 56px); border-radius: 24px;
  color: #fff; background: linear-gradient(100deg, rgb(4 41 32 / .96), rgb(4 41 32 / .5)), url('../bio/forest-canopy.jpg') center / cover;
}
.bio-prep-hero > div { max-width: 660px; }
.bio-prep-hero-actions { display: flex; flex: none; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
.bio-prep-hero .bio-kicker { color: #bdecb6; }
.bio-prep-hero h1 { font: 700 clamp(2.4rem, 5vw, 4.8rem)/1 var(--serif); letter-spacing: -.04em; margin: 0 0 16px; }
.bio-prep-hero p:last-child { margin: 0; font-size: clamp(1rem, 1.8vw, 1.2rem); }
.bio-page .bio-prep-hero .btn.ghost { flex: none; color: #fff; background: rgb(255 255 255 / .15); border: 1px solid rgb(255 255 255 / .7); }
.bio-prep-path { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-bottom: 18px; }
.bio-prep-stop { display: flex; gap: 14px; min-width: 0; padding: 20px; border-radius: 18px; background: #fdfdf6; border: 1px solid #cadccb; }
.bio-prep-stop.is-first { background: #dff0d7; border-color: #95c49a; }
.bio-prep-number { display: grid; place-items: center; flex: none; width: 38px; height: 38px; border-radius: 50%; color: #fff; background: #17644b; font: 800 1.15rem var(--sans); }
.bio-prep-stop h2 { font: 700 1.35rem/1.15 var(--serif); margin: 0 0 7px; color: #123c31; }
.bio-prep-stop p:not(.bio-kicker) { font-size: .86rem; color: #4c6254; margin: 0; }
.bio-prep-tools { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 15px; }
.bio-prep-tools .btn { min-height: 36px; padding: 7px 10px; border-radius: 9px; font-size: .78rem; }
.bio-prep-challenge { padding: clamp(20px, 4vw, 35px); background: #fffefa; }
.bio-prep-challenge-head { display: flex; justify-content: space-between; align-items: start; gap: 16px; border-bottom: 1px solid #cbdccc; padding-bottom: 14px; margin-bottom: 20px; }
.bio-prep-challenge-head h2 { margin: 0; font: 700 clamp(1.8rem, 3vw, 2.6rem)/1.1 var(--serif); }
.bio-prep-count { flex: none; color: #165a47; background: #dcebd7; padding: 7px 12px; border-radius: 30px; font-weight: 800; font-size: .82rem; }
.bio-prep-topic { color: #155e49; font-weight: 800; letter-spacing: .03em; margin: 0 0 12px; }
.bio-prep-language-note { margin: 0 0 12px; color: #604b19; background: #fff2ce; border-radius: 8px; padding: 9px 12px; font-size: .86rem; }
.bio-prep-context { margin: 0 0 20px; padding: 15px 18px; border-left: 5px solid #81b872; border-radius: 8px 13px 13px 8px; background: #eff5e9; }
.bio-prep-context summary { cursor: pointer; color: #174a39; font-weight: 800; }
.bio-prep-context > div { overflow-x: auto; line-height: 1.5; }
.bio-prep-context table { border-collapse: collapse; width: 100%; margin-top: 10px; }
.bio-prep-context th, .bio-prep-context td { border: 1px solid #9fbea4; padding: 6px; }
.bio-prep-prompt { color: #133c31; font: 700 clamp(1.2rem, 2.4vw, 1.65rem)/1.35 var(--sans); margin-bottom: 16px; }
.bio-prep-prompt p { margin: 0; }
.bio-prep-choices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-bottom: 18px; }
.bio-prep-choice { display: flex; align-items: center; gap: 12px; width: 100%; min-height: 62px; padding: 12px; text-align: left; color: #173d34; background: #f8fbf5; border: 2px solid #cddfcd; border-radius: 13px; font: 700 .95rem/1.35 var(--sans); cursor: pointer; }
.bio-prep-choice:hover:not(:disabled), .bio-prep-choice:focus-visible { border-color: #257e5d; background: #e8f5df; }
.bio-prep-choice > span { display: grid; place-items: center; flex: none; width: 30px; height: 30px; border-radius: 8px; color: #fff; background: #1e684e; }
.bio-prep-choice.is-correct { border-color: #b5421d; background: #ffead7; }
.bio-prep-choice.is-missed { border-color: #2a64a8; background: #e8f1ff; }
.bio-prep-choice:disabled { cursor: default; opacity: 1; }
.bio-prep-feedback { border-radius: 14px; padding: 16px 19px; margin: 0 0 18px; line-height: 1.5; }
.bio-prep-feedback.is-correct { background: #ffead7; color: #782e16; }
.bio-prep-feedback.is-missed { background: #e8f1ff; color: #173f73; }
.bio-prep-feedback p { margin: 8px 0 0; }
.bio-prep-feedback .key2success { font-size: .9rem; }
.bio-prep-note { color: #566e5b; font-size: .85rem; margin: 14px 0; }
.bio-mastery-scale { display: flex; justify-content: space-between; margin: 18px 0 4px; padding: 13px 16px; border-radius: 12px; background: linear-gradient(90deg, #d4eaff, #b7d8ff 25%, #f3d8db 50%, #e85046 72%, #ffad50); color: #263d43; font-size: .8rem; font-weight: 800; }
.bio-prep-finish-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 22px; }
@media (max-width: 750px) {
  .bio-prep-hero { display: block; }
  .bio-prep-hero-actions { justify-content: flex-start; margin-top: 20px; }
  .bio-prep-path { grid-template-columns: 1fr; }
  .bio-prep-choices { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) { .bio-prep-page * { scroll-behavior: auto; } }
