body{--accent:var(--bio);--soft:var(--bio-soft)}
body:not(.bio-course-page) .bio-course{max-width:1160px}
body:not(.bio-course-page) .course-head{display:flex;justify-content:space-between;gap:24px;align-items:end;margin:28px 0 22px;padding:25px 28px;border:1px solid #cbdccf;border-radius:20px;background:linear-gradient(90deg,#edf5e9 0%,rgb(237 245 233 / .96) 52%,rgb(237 245 233 / .72) 100%),url('../bio/forest-canopy.jpg') center 38% / cover no-repeat}
body:not(.bio-course-page) .course-head h1{margin:2px 0 8px;color:#123f32}
body:not(.bio-course-page) .course-head p{max-width:690px}
body:not(.bio-course-page) .course-head .eyebrow{font-weight:800;color:var(--accent);font-size:12px;letter-spacing:.08em;text-transform:uppercase}
body:not(.bio-course-page) .course-actions{display:flex;gap:8px;flex:none}
@media(max-width:760px){body:not(.bio-course-page) .course-head{display:block}body:not(.bio-course-page) .course-actions{margin-top:16px}}
@media(max-width:520px){body:not(.bio-course-page) .course-head{padding:22px;background-image:linear-gradient(90deg,rgb(237 245 233 / .98),rgb(237 245 233 / .85)),url('../bio/forest-canopy.jpg')}body:not(.bio-course-page) .course-actions{flex-wrap:wrap}}
/* Read and Review uses measured text pages, never a scrolling lesson rail. */
.bio-course-page { --accent: var(--bio-deep); --soft: var(--bio-soft); }
.bio-course-page > .topbar { position: relative; }
.bio-course-page .topbar-in { max-width: 1460px; padding: 5px 14px; }
.bio-course-page .topbar .brand { font-size: 14px; line-height: 1.4; }
.bio-course-page .bio-session-bar { max-width: none; margin: 0; padding: 3px 12px; line-height: 1.3; gap: 6px 12px; }
.bio-course-page .bio-live-banner { flex: none; width: calc(100% - 24px); max-width: 1436px; margin: 3px auto 0; padding: 4px 10px; border-width: 1px; border-radius: 8px; font-size: 13px; }
.bio-course-page .bio-live-banner > div { margin: 0; gap: 4px 10px; }
.bio-course-page .bio-live-banner strong { font: 800 14px/1.3 var(--sans); }
.bio-course-page .bio-live-banner .btn { min-height: 40px; padding: 5px 10px; font-size: 14px; }
.bio-course-page > main.bio-course { width: 100%; max-width: 1460px; margin: 0 auto; padding: 8px 12px; display: grid; grid-template-rows: auto minmax(0, 1fr); gap: 8px; overflow: visible; }
.bio-course-page .course-head { display: flex; align-items: center; gap: 12px; padding: 5px 10px; border: 2px solid var(--world-line); border-radius: 10px; background: color-mix(in srgb, var(--world-panel) 94%, transparent); color: var(--world-ink); }
.bio-course-page .course-picker { flex: 1; min-width: 0; display: flex; align-items: center; gap: 10px; font-weight: 800; }
.bio-course-page .course-picker > span { font-size: 14px; }
.bio-course-page .course-picker select { width: 100%; min-width: 0; min-height: 44px; padding: 7px 10px; border: 1px solid var(--world-line); border-radius: 5px; background: #fff; color: var(--world-ink); font: 600 16px/1.3 var(--sans); }
.bio-course-page .course-actions { display: flex; gap: 8px; flex: none; }
.bio-course-page .btn { min-height: 44px; padding: 7px 14px; border-radius: 7px; font-size: 16px; line-height: 1.3; justify-content: center; }
.bio-course-page .course-article { min-width: 0; min-height: 0; padding: 12px 16px; display: grid; grid-template-rows: auto auto minmax(0, 1fr) auto; gap: 9px; border: 2px solid var(--world-line); border-radius: 10px; background: color-mix(in srgb, var(--world-panel) 95%, transparent); color: var(--world-ink); }
.bio-course-page .lesson-count { margin: 0 0 3px; font: 700 12px/1.3 var(--mono); color: var(--world-ink); }
.bio-course-page .lesson-heading h1 { margin: 0; font: 800 clamp(22px, 2.5vw, 32px)/1.15 var(--sans); color: var(--world-ink); }
.bio-course-page .lesson-stages { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.bio-course-page .lesson-stages [aria-current] { background: var(--world-ink); color: #fff; box-shadow: inset 2px 2px #ffffff50, inset -2px -2px #071f3660; }
.bio-course-page .lesson-screen { min-width: 0; min-height: 0; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 14px; }
.bio-course-page .lesson-art { min-width: 0; min-height: 0; margin: 0; padding: 8px; display: grid; grid-template-rows: minmax(0, 1fr) auto; gap: 6px; border: 1px solid var(--world-line); border-radius: 8px; background: #fffdf7; }
.bio-course-page .lesson-art img { width: 100%; height: 100%; min-height: 0; object-fit: contain; }
.bio-course-page .lesson-art figcaption { margin: 0; color: #365547; font-size: 14px; line-height: 1.3; }
.bio-course-page .lesson-panel { min-width: 0; min-height: 0; display: flex; flex-direction: column; gap: 10px; padding: 12px 16px; background: #fffefa; border: 1px solid var(--world-line); border-radius: 8px; color: #173d30; }
.bio-course-page .lesson-copy { flex: 1; min-height: 0; min-width: 0; position: relative; display: flex; align-items: center; }
.bio-course-page .lesson-note { width: 100%; margin: 0; font-size: clamp(19px, 1.9vw, 25px); line-height: 1.55; overflow-wrap: anywhere; }
.bio-course-page .lesson-probe { position: absolute; top: 0; left: 0; visibility: hidden; pointer-events: none; }
.bio-course-page .lesson-word { width: 100%; }
.bio-course-page .lesson-word h3 { margin: 4px 0 10px; font: 800 clamp(22px, 2.3vw, 30px)/1.2 var(--sans); color: #123c31; }
.bio-course-page .lesson-practice-actions { flex: none; display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 8px; }
.bio-course-page .lesson-next { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 0; }
.bio-course-page .lesson-next > span { text-align: center; font-size: 14px; font-weight: 800; font-variant-numeric: tabular-nums; }
.bio-course-page .course-print { display: none; }
@media (max-width: 600px) and (orientation: portrait) {
  .bio-course-page > main.bio-course { padding: 5px 7px; gap: 5px; }
  .bio-course-page .topbar-in { padding: 4px 10px; }
  .bio-course-page .course-head { flex-wrap: wrap; gap: 4px; padding: 5px 7px; }
  .bio-course-page .course-picker { flex-basis: 100%; gap: 6px; }
  .bio-course-page .course-actions { margin-left: auto; }
  .bio-course-page .course-actions .btn { min-height: 38px; font-size: 16px; padding: 5px 12px; }
  .bio-course-page .course-article { padding: 8px 10px; gap: 7px; }
  .bio-course-page .lesson-heading h1 { font-size: 22px; }
  .bio-course-page .lesson-screen { grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(90px, .8fr) minmax(0, 1fr); gap: 7px; }
  .bio-course-page .lesson-art { padding: 4px; gap: 3px; }
  .bio-course-page .lesson-art figcaption { font-size: 13px; }
  .bio-course-page .lesson-panel { padding: 8px 10px; gap: 6px; }
  .bio-course-page .lesson-note { font-size: 19px; line-height: 1.4; }
  .bio-course-page .lesson-word h3 { font-size: 22px; margin-bottom: 7px; }
  .bio-course-page .lesson-next .btn { padding: 7px 10px; }
  .bio-course-page .lesson-next > span { font-size: 13px; }
  .bio-course-page .lesson-practice-actions { grid-template-columns: minmax(0, 1fr); gap: 5px; }
  .bio-course-page .lesson-practice-actions .btn { padding: 5px 8px; font-size: 16px; }
}
@media (max-height: 500px) and (orientation: landscape) {
  .bio-course-page .topbar-in { padding: 2px 10px; }
  .bio-course-page .bio-session-bar { padding: 1px 8px; font-size: 12px; }
  .bio-course-page > main.bio-course { padding: 4px 8px; gap: 4px; }
  .bio-course-page .course-head { padding: 2px 7px; }
  .bio-course-page .course-article { padding: 6px 10px; gap: 5px; }
  .bio-course-page .lesson-heading { display: flex; align-items: baseline; gap: 10px; }
  .bio-course-page .lesson-count { flex: none; }
  .bio-course-page .lesson-heading h1 { font-size: 22px; }
  .bio-course-page .lesson-stages .btn { min-height: 38px; }
  .bio-course-page .lesson-screen { gap: 8px; }
  .bio-course-page .lesson-panel { padding: 6px 10px; gap: 6px; }
  .bio-course-page .lesson-note { font-size: 18px; line-height: 1.35; }
  .bio-course-page .lesson-art { padding: 4px; }
  .bio-course-page .lesson-art figcaption { font-size: 13px; }
  .bio-course-page .lesson-word h3 { font-size: 22px; margin: 0 0 5px; }
  .bio-course-page .lesson-practice-actions { gap: 5px; }
}
@media print {
  .bio-course-page { height: auto; overflow: visible; background: #fff; display: block; }
  .bio-course-page::before, .bio-course-page::after, .bio-course-page .topbar, .bio-course-page .bio-session-bar, .bio-course-page .bio-live-banner, .bio-course-page .course-head, .bio-course-page .course-article { display: none !important; }
  .bio-course-page > main.bio-course { display: block; overflow: visible; padding: 0; }
  .bio-course-page .course-print { display: block; color: #111; }
  .bio-course-page .course-print img { display: block; max-height: 280px; width: 100%; object-fit: contain; }
}

.plan-group{margin:28px 0 44px}.plan-group-head{border-bottom:1px solid var(--line);margin-bottom:16px}.plan-group-head h2{margin:0 0 4px}.plan-group-head p{margin:0 0 12px;color:var(--muted)}.plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:14px}.plan-step{display:flex;flex-direction:column;min-width:0}.plan-step h3{margin:4px 0 10px}.plan-step ol{padding-left:20px;font-size:14px;line-height:1.55;flex:1}.plan-step li{margin:5px 0}.plan-step .toolbar{margin-top:10px}
.bio-match{max-width:1130px}.match-head{display:flex;justify-content:space-between;gap:22px;align-items:start;margin:28px 0 20px;padding:28px 32px;border-radius:20px;background:linear-gradient(90deg,#e8f4dc,#f7faf0);border:1px solid #bed6b3}.match-head h1{font:700 clamp(2.1rem,5vw,3.7rem)/1 var(--serif);color:#123c31;margin:4px 0 12px}.match-head p:last-child{max-width:68ch;color:#3b5d48;margin:0}.match-head-actions{display:flex;gap:8px;align-items:center}.match-clock{display:inline-grid;place-items:center;min-width:88px;padding:9px 13px;border-radius:12px;background:#123c31;color:#fff;font:800 1.3rem var(--mono);font-variant-numeric:tabular-nums}.match-targets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.match-target{display:flex;flex-direction:column;gap:8px;min-width:0;padding:10px;border:2px solid #b8d2b5;border-radius:15px;background:#fffefa;color:#244e3a;font:800 .88rem/1.3 var(--sans);cursor:pointer}.match-target img{display:block;width:100%;aspect-ratio:4/3;object-fit:contain;border-radius:9px;background:#f0f5ec}.match-target span{display:grid;place-items:center;min-height:44px}.match-target:focus-visible,.match-word:focus-visible{outline:3px solid #d4572e;outline-offset:3px}.match-target.matched{border-color:#33845b;background:#e6f4df}.match-target:disabled{cursor:default;opacity:1}.match-tray{margin:24px 0 14px}.match-tray h2{font:700 1.55rem var(--serif);color:#123c31;margin:0 0 10px}.match-words{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.match-word{min-height:78px;padding:12px;border:2px solid #78aa86;border-radius:14px;background:#e5f2db;color:#16402e;font:800 1rem/1.25 var(--sans);cursor:pointer;box-shadow:0 5px 0 #a8cdaa;transition:transform .2s ease,background .2s ease}.match-word.revealed{background:#fff5d9;border-color:#d8ac51}.match-word.selected{outline:3px solid #c85328;outline-offset:2px}.match-word.flip-back{animation:bio-card-return .5s ease}.match-feedback{min-height:1.5em;color:#265c42;font-weight:800}
@media(max-width:800px){.match-targets,.match-words{grid-template-columns:repeat(2,minmax(0,1fr))}.match-head{display:block}.match-head-actions{margin-top:15px}}
@media(max-width:450px){.match-head{padding:22px}.match-targets{gap:7px}.match-target{padding:6px;font-size:.75rem}.match-word{min-height:66px;font-size:.86rem}}
@media(prefers-reduced-motion:reduce){.match-word{transition:none}.match-word.flip-back{animation:none;border-color:#c85328}}
@media(max-width:520px){.topbar-in{min-width:0}.topbar .brand{display:block;min-width:0;max-width:100%;line-height:1.3;overflow-wrap:anywhere}}
