/* Biology reading and practice. Business retains its existing presentation. */
.bio-practice .mcq-option{grid-template-columns:18px 30px minmax(0,1fr);gap:12px;padding:13px 15px;font-size:14px;line-height:1.6;transition:border-color .16s ease,background .16s ease}.bio-practice .mcq-option input[type="radio"]{width:18px;height:18px;min-height:18px;padding:0;margin:0;accent-color:var(--primary);box-shadow:none}.bio-practice .mcq-option:has(input:checked){border-color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,var(--surface))}.bio-practice .mcq-option>span:last-child{min-width:0;overflow-wrap:anywhere}.bio-practice .mcq-letter{font-size:12px}
.bio-practice{--bio-accent:#8b7cf2;--bio-teal:#16877f}.bio-practice-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;margin:6px 0 27px}.bio-practice-heading h1{font-size:clamp(30px,3.6vw,46px);line-height:1.12;letter-spacing:-1.7px;margin:13px 0 15px;max-width:700px}.bio-practice-heading p{color:var(--muted);margin:0;max-width:590px;font-size:14px}.bio-notes-link{display:flex;gap:25px;white-space:nowrap;padding:12px 0;border-bottom:1px solid var(--border);font-size:12px;font-weight:700}.bio-notes-link span{font-size:20px;color:var(--primary)}
.bio-practice-stats{display:flex;align-items:center;flex-wrap:wrap;gap:12px 26px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:17px 0;margin-bottom:28px;font-size:12px;color:var(--muted)}.bio-practice-stats strong{color:var(--text);font-size:16px;margin-right:4px}.bio-save-label{margin-left:auto;display:flex;align-items:center;gap:8px}.bio-save-label::before{content:'';width:6px;height:6px;border-radius:100%;background:var(--bio-teal)}
.bio-practice .practice-layout{grid-template-columns:270px minmax(0,1fr);gap:26px}.bio-practice .practice-controls{padding:22px;border-radius:18px;box-shadow:none}.bio-step-label{font-size:10px;font-weight:750;letter-spacing:1.3px;color:var(--primary)}.bio-practice .practice-controls h2{font-size:18px;letter-spacing:-.4px;line-height:1.4;margin:9px 0 24px}.bio-practice .field{margin-bottom:16px}.bio-practice .field label{font-size:11px;letter-spacing:.2px;color:var(--muted);margin-bottom:7px}.bio-practice .field select{padding:11px 12px;font-size:12px;min-height:44px;border-radius:10px}.bio-practice .pool-info{font-size:11px;padding:12px;border-radius:10px;background:var(--surface-2);line-height:1.7}.bio-session-actions{display:grid;gap:9px;margin-top:16px}.bio-session-actions>.btn{display:flex;align-items:center;justify-content:space-between!important;gap:12px;text-align:left;padding:12px 14px;font-size:12px;border-radius:11px}.bio-session-actions small{font-weight:450;font-size:10px;color:var(--muted)}.bio-practice .bio-reset{margin:12px 0 0;font-size:10px}.bio-practice-help{padding-top:15px;border-top:1px solid var(--border);margin-top:15px;font-size:11px;line-height:1.7;color:var(--muted)}.bio-practice-help summary{cursor:pointer;font-weight:650;color:var(--text)}
.bio-practice .question-card{padding:27px 31px;border-radius:20px;box-shadow:0 8px 32px rgba(34,22,81,.035);border-top:3px solid color-mix(in srgb,var(--primary) 65%,var(--border))}.bio-practice .question-top{align-items:flex-start;gap:15px}.bio-question-meta{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:10px;color:var(--muted)}.bio-topic-badge{border:1px solid var(--border);background:var(--surface-2);padding:6px 9px;border-radius:7px;font-weight:750;color:var(--text)}.bio-practice .question-top p.bio-question-topic{font-size:12px;margin:12px 0 0;color:var(--muted)}.bio-mark-badge{flex-shrink:0;display:grid;place-items:center;background:color-mix(in srgb,var(--primary) 10%,var(--surface));color:var(--primary);font-size:24px;font-weight:800;border-radius:12px;min-width:57px;padding:8px 12px;line-height:1.2}.bio-mark-badge small{font-size:9px;font-weight:600}.bio-practice .bio-question-title{font-size:clamp(22px,2.2vw,29px);line-height:1.4;letter-spacing:-.55px;margin:25px 0}.bio-practice .question-pills:empty{display:none}.bio-practice .question-pills:not(:empty){display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.bio-practice .answer-toolbar{gap:4px;margin-top:22px;border-top:1px solid var(--border);padding-top:15px}.bio-practice .answer-toolbar .btn{padding:8px 10px;font-size:10px;border:0;background:transparent;color:var(--muted)}.bio-answer-label{display:flex;justify-content:space-between;gap:12px;font-size:12px;font-weight:650;margin:12px 0 8px}.bio-answer-label span{font-size:10px;font-weight:450;color:var(--muted)}.bio-practice #practiceAnswer{font-size:14px;min-height:175px;background:color-mix(in srgb,var(--surface-2) 35%,var(--surface));border-radius:12px;padding:15px;line-height:1.8}.bio-practice [data-marks="1"] #practiceAnswer,.bio-practice [data-marks="2"] #practiceAnswer{min-height:125px}.bio-practice .question-card>.form-actions{margin-top:20px;gap:10px;flex-wrap:wrap}.bio-practice .question-card>.form-actions .btn{font-size:12px;padding:11px 15px;border-radius:11px}.bio-practice .question-card>.form-actions #skipQuestion{margin-left:auto;color:var(--muted);background:transparent;border-color:transparent}.bio-practice-disclaimer{font-size:10px;color:var(--muted);text-align:right;margin-top:20px}.bio-practice .question-empty{border:1px dashed color-mix(in srgb,var(--primary) 25%,var(--border));border-radius:20px;min-height:490px;text-align:center;padding:24px;background:radial-gradient(ellipse at 50% 20%,color-mix(in srgb,var(--primary) 6%,transparent),transparent 65%),var(--surface)}.bio-empty-icon{width:62px;height:62px;border:1px solid var(--border);border-radius:18px;display:grid;place-items:center;font-size:30px;color:var(--primary);margin-bottom:18px}.bio-practice .question-empty h2{font-size:25px;margin-top:9px}.bio-practice .question-empty p{font-size:13px;line-height:1.8;color:var(--muted);margin:8px 0 16px}.bio-question-context{padding:15px 17px;border-left:3px solid var(--bio-teal);background:var(--surface-2);border-radius:0 10px 10px 0;margin-bottom:20px}.bio-question-context p{white-space:pre-line;font-size:14px;line-height:1.8;margin-bottom:0}.bio-question-figure{margin:18px 0}.bio-question-figure img{max-width:100%;height:auto;border-radius:10px;border:1px solid var(--border)}.bio-question-figure figcaption{font-size:11px;color:var(--muted);margin-top:8px}
.bio-reading .topic-sidebar{padding:18px;max-height:calc(100vh - 112px);overflow-y:auto}.bio-tools-heading{display:flex;gap:9px;align-items:center}.bio-tools-heading>span{color:var(--primary);font-size:25px}.bio-tools-heading h2{font-size:16px;letter-spacing:-.3px;margin:0}.bio-annotation-panel>p{font-size:11px;line-height:1.7;color:var(--muted)}.bio-highlight-actions{display:grid;gap:8px}.bio-highlight-actions .btn{font-size:11px;padding:10px;text-align:left;white-space:normal}.bio-highlight-actions .btn:disabled{opacity:.45;cursor:not-allowed}#bio-highlight-important{background:#faf0c9;color:#66501b;border-color:#c6ad68}#bio-highlight-question{background:#f7e9f0;color:#77475e;border-color:#c39eb1}.bio-highlight{border-radius:2px;box-decoration-break:clone;-webkit-box-decoration-break:clone}.bio-highlight-important{background:#f6e3a3;color:#493806}.bio-highlight-question{background:#f4dae7;color:#63364c;text-decoration:underline;text-decoration-color:#a46583;text-underline-offset:3px;text-decoration-thickness:1px}.bio-highlight:focus{outline:2px solid var(--primary);outline-offset:3px}.bio-saved-notes{margin-top:16px}.bio-saved-notes>summary,.bio-contents>summary{cursor:pointer;font-size:11px;font-weight:750;line-height:1.6}.bio-saved-passage{border-left:2px solid #b89d52;padding:11px;background:var(--surface-2);border-radius:0 8px 8px 0;margin:12px 0}.bio-saved-question{border-left-color:#ae7593}.bio-saved-passage>span{font-size:9px;line-height:1.5;color:var(--muted)}.bio-passage-jump{display:block;text-align:left;width:100%;max-height:90px;overflow:auto;padding:7px 0;font-size:11px;line-height:1.7;color:var(--text);border:0;background:none;cursor:pointer;overflow-wrap:anywhere}.bio-passage-remove{background:none;border:0;text-decoration:underline;font-size:9px;color:var(--muted);padding:4px 0;cursor:pointer}.bio-contents{border-top:1px solid var(--border);padding-top:16px;margin-top:18px}.bio-contents>summary{margin-bottom:8px;text-transform:uppercase;letter-spacing:.7px;color:var(--muted)}.bio-note-content{line-height:1.85}.bio-core-focus{padding:13px 16px;border-top:1px solid var(--border);background:color-mix(in srgb,var(--accent) 5%,var(--surface));font-size:11px;line-height:1.7}.bio-core-focus p{margin:5px 0}.bio-core-focus small{display:block;color:var(--muted);font-size:10px}.bio-reading .diagram-frame{aspect-ratio:auto}.bio-reading .diagram-frame img{height:auto;max-height:none;width:100%;object-fit:contain}.bio-reading .content-card{scroll-margin-top:95px}
[data-theme="dark"] .bio-practice{--bio-teal:#69b9ac}[data-theme="dark"] .bio-highlight-important{background:rgba(214,172,66,.19);color:#f2e4bc}[data-theme="dark"] .bio-highlight-question{background:rgba(191,110,154,.17);color:#ecd5e3;text-decoration-color:#b980a0}[data-theme="dark"] #bio-highlight-important{background:#363322;color:#e6d7aa;border-color:#756444}[data-theme="dark"] #bio-highlight-question{background:#352734;color:#e0c6d5;border-color:#795c70}
@media(max-width:1000px){.bio-practice .practice-layout{grid-template-columns:245px minmax(0,1fr);gap:18px}.bio-practice .question-card{padding:22px}.bio-practice .practice-controls{padding:18px}.bio-save-label{margin-left:0}.bio-practice-heading{align-items:flex-start}.bio-notes-link{margin-top:10px}.bio-reading .topic-layout{grid-template-columns:220px minmax(0,1fr)}}
@media(max-width:900px){.bio-reading{grid-template-columns:1fr}.bio-reading .topic-sidebar{display:block;position:static;max-height:none;overflow:visible}.bio-highlight-actions{grid-template-columns:1fr 1fr}.bio-annotation-panel>p{margin:8px 0}.bio-contents{margin-top:12px;padding-top:12px}.bio-contents a{display:inline-block}.bio-annotation-panel.has-selection .bio-highlight-actions{position:fixed;bottom:14px;left:14px;right:14px;z-index:65;background:var(--surface);padding:10px;border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow)}}
@media(max-width:760px){.bio-practice .practice-layout{grid-template-columns:1fr}.bio-practice .practice-controls{position:static;display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}.bio-practice .practice-controls>.bio-step-label,.bio-practice .practice-controls>h2,.bio-practice .practice-controls>.pool-info,.bio-practice-help{grid-column:1/-1}.bio-practice .practice-controls>h2{margin:0 0 5px}.bio-practice .practice-controls .field{margin-bottom:0}.bio-practice .practice-controls .field:first-of-type{grid-column:1/-1}.bio-session-actions{grid-template-columns:1fr 1fr;grid-column:1/-1;margin-top:0}.bio-practice .bio-reset{grid-column:1/-1;margin-top:0}.bio-practice .question-empty{min-height:340px}.bio-practice-heading{display:block}.bio-notes-link{display:inline-flex;margin-top:15px}.bio-practice-heading h1{letter-spacing:-1px}.bio-practice .question-card{padding:20px}.bio-practice .question-top{flex-direction:row}.bio-practice-stats{gap:10px 18px}.bio-practice-stats .bio-save-label{flex-basis:100%}.bio-practice-disclaimer{text-align:left;line-height:1.7}}
@media(max-width:400px){.bio-practice .question-card>.form-actions #skipQuestion{margin-left:0}.bio-practice .bio-question-title{font-size:21px}.bio-answer-label span{display:none}.bio-highlight-actions{grid-template-columns:1fr}.bio-session-actions>.btn{flex-wrap:wrap}}

.bio-note-content .bio-question-figure { max-width: 640px; margin: 1.5rem auto 2rem; }
.bio-note-content .bio-question-figure img { display: block; width: 100%; }
.bio-note-content .bio-question-figure figcaption { font-size: .85rem; }
.bio-extra-diagrams { margin-bottom: 1rem; }
.bio-extra-diagrams > summary { cursor: pointer; color: var(--primary); font-weight: 700; padding: .65rem 0; }
.bio-highlight-mint, #bio-highlight-mint { background: #d9f2e6; color: #183f32; border-color: #7ba997; }
.bio-highlight-lavender, #bio-highlight-lavender { background: #ece3fb; color: #48356b; border-color: #a393c6; }
.bio-highlight-question, #bio-highlight-question { background: #fbe7e6; color: #682c2c; border-color: #c88e8b; text-decoration-color: #a84f4f; }
.bio-saved-mint { border-left-color: #7ba997; }
.bio-saved-lavender { border-left-color: #a393c6; }
.bio-saved-question { border-left-color: #c88e8b; }
[data-theme="dark"] :is(.bio-highlight-mint,#bio-highlight-mint) { background: #223a34; color: #c2e6d7; border-color: #648c7d; }
[data-theme="dark"] :is(.bio-highlight-lavender,#bio-highlight-lavender) { background: #382e49; color: #e2d5f8; border-color: #8977ae; }
[data-theme="dark"] :is(.bio-highlight-question,#bio-highlight-question) { background: #472e33; color: #f2cdd0; border-color: #986b71; text-decoration-color: #da9398; }

.study-search { margin: 0 0 1.25rem; }
.study-search summary { cursor: pointer; font-weight: 750; }
.study-search-fields { display: grid; grid-template-columns: minmax(0,2fr) minmax(0,1fr); gap: 1rem; margin-top: 1rem; }
.study-search-fields input,.study-search-fields select { display: block; width: 100%; margin-top: .35rem; }
.study-search-results { display: grid; gap: .5rem; list-style: none; padding: 0; }
.study-search-results:empty { display: none; }
.study-search-results a { display: grid; gap: .25rem; padding: .65rem .85rem; border: 1px solid var(--border); border-radius: .65rem; }
.study-search-results a:hover { background: var(--surface-2); }
.study-search-results :is(small,span) { color: var(--muted); }
[id^="bio-reading-"],[id^="b-section-"],[id^="section-"] { scroll-margin-top: 105px; }
@media(max-width: 520px) { .study-search-fields { grid-template-columns: 1fr; gap: .65rem; } }

.bio-question-title, .bio-rubric-text { white-space: pre-line; }
.bio-rubric { margin-top: 1rem; }
.bio-rubric h3 { margin-top: 0; }
.bio-self-score { display: flex; flex-wrap: wrap; align-items: end; gap: .75rem; margin-top: 1rem; }
.bio-self-score select,.bio-assessment-review select { display: block; width: auto; margin-top: .35rem; }
.bio-assessment-review { margin: 1rem 0; }
.bio-assessment-review > label { display: block; margin-top: .75rem; }

.bio-practice-heading {
  padding: clamp(1rem,4vw,2.75rem);
  border: 1px solid var(--border);
  border-radius: 1.25rem;
  background: linear-gradient(120deg,color-mix(in srgb,var(--primary) 13%,var(--surface)),var(--surface) 65%);
}
.bio-practice .practice-controls .pool-info {
  border: 1px solid color-mix(in srgb,var(--bio-teal) 28%,var(--border));
  background: color-mix(in srgb,var(--bio-teal) 9%,var(--surface));
}
.bio-practice .bio-question-meta > span:not(.bio-topic-badge) {
  padding: .28rem .5rem;
  border: 1px solid var(--border);
  border-radius: 999px;
}

.bio-choice-set { border: 0; padding: 0; margin: 1.25rem 0; min-width: 0; }
.bio-choice-set legend { font-weight: 700; color: var(--muted); margin-bottom: .6rem; }
.bio-choice-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .7rem; }
.bio-choice { position: relative; display: grid; grid-template-columns: 1fr; align-content: start; gap: .6rem; cursor: pointer; padding: .85rem; border: 1px solid var(--border); border-radius: .8rem; background: var(--surface); }
.bio-choice input { position: absolute; inset: .9rem .9rem auto auto; width: 1rem; height: 1rem; accent-color: var(--primary); }
.bio-choice-letter { display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: .45rem; background: var(--surface-2); font-weight: 800; }
.bio-choice:hover,.bio-choice:has(input:checked) { border-color: var(--primary); background: color-mix(in srgb,var(--primary) 10%,var(--surface)); }
.bio-choice:focus-within { outline: 2px solid var(--primary); outline-offset: 2px; }
.bio-task-visual { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 1rem; align-items: start; }
.bio-task-visual .bio-question-figure { margin-top: .75rem; }
.bio-task-visual .bio-question-figure img { display: block; width: 100%; }
.bio-question-parts { display: grid; gap: .65rem; padding: 0; margin: 1rem 0; list-style: none; }
.bio-question-parts li { display: grid; grid-template-columns: auto 1fr auto; gap: .6rem; align-items: baseline; }
.bio-mock-modes { display: grid; gap: .55rem; margin-top: .9rem; }
.bio-mock-modes button { display: flex; justify-content: space-between; align-items: center; gap: .5rem; }
.bio-mock-nav { display: flex; flex-wrap: wrap; gap: .35rem; margin: 1rem 0; }
.bio-mock-nav button { min-width: 2.25rem; min-height: 2.25rem; border-radius: .4rem; border: 1px solid var(--border); color: var(--text); background: var(--surface); cursor: pointer; }
.bio-mock-nav .answered { background: color-mix(in srgb,var(--primary) 16%,var(--surface)); }
.bio-mock-nav .flagged { border-style: dashed; }
.bio-mock-nav button[aria-current] { outline: 2px solid var(--primary); }
.bio-mock-review { margin: .6rem 0; }
.bio-mock-review summary { cursor: pointer; font-weight: 700; }
@media(max-width:720px) { .bio-task-visual { grid-template-columns: 1fr; gap: 0; } }
@media(max-width:530px) { .bio-choice-grid { grid-template-columns: 1fr; } }
.bio-mock-subquestions { display: grid; gap: 1rem; }
.bio-mock-subquestions > section { border-top: 1px solid var(--border); padding-top: .65rem; }
.bio-mock-subquestions .bio-question-title { font-size: clamp(1rem,2.5vw,1.25rem); font-weight: 650; }
.bio-figure-expand { display: inline-block; margin-top: .35rem; font-size: .8rem; font-weight: 700; }
.assessment-question > .question-top > div { width: 100%; min-width: 0; }

/* Biology topics use the same subject colours on both syllabus routes. */
.topic-card[data-bio-group="foundations"] { --topic-light: #215b99; --topic-dark: #90c8ff; }
.topic-card[data-bio-group="biochemistry"] { --topic-light: #865100; --topic-dark: #f3c46c; }
.topic-card[data-bio-group="nature"] { --topic-light: #1c6848; --topic-dark: #79dbad; }
.topic-card[data-bio-group="human"] { --topic-light: #943952; --topic-dark: #f6a7b9; }
.topic-card[data-bio-group="genetics"] { --topic-light: #663e9b; --topic-dark: #c8adff; }

.topic-card[data-bio-group] {
  --topic-ink: var(--topic-light);
  background: linear-gradient(105deg, color-mix(in srgb, var(--topic-ink) 8%, var(--surface)), var(--surface) 75%);
  border-inline-start: 3px solid var(--topic-ink);
}
[data-theme="dark"] .topic-card[data-bio-group] { --topic-ink: var(--topic-dark); }
.topic-card[data-bio-group] .topic-number {
  background: color-mix(in srgb, var(--topic-ink) 14%, var(--surface));
  color: var(--topic-ink);
}
.topic-card[data-bio-group] .topic-status { color: var(--topic-ink); }
.topic-card[data-bio-group]:focus-visible { outline: 2px solid var(--topic-ink); outline-offset: 3px; }
.topic-card[data-bio-group] p { color: #526075; }
[data-theme="dark"] .topic-card[data-bio-group] p { color: var(--muted); }

.bio-exam-modes { margin: 1.25rem 0; }
.bio-exam-modes h2 { margin: 0 0 .55rem; }
.bio-study-modes { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: .6rem; }
.bio-study-modes a { display: grid; align-content: start; gap: .15rem; padding: .85rem 1rem; border: 1px solid var(--border); border-radius: .7rem; background: var(--surface); }
.bio-study-modes a:hover { border-color: var(--primary); }
.bio-study-modes a[aria-current="page"] { border-color: var(--primary); background: color-mix(in srgb, var(--primary) 9%, var(--surface)); }
.bio-study-modes small { color: var(--muted); }
.bio-instant-sizes { grid-template-columns: repeat(auto-fit, minmax(min(100%, 120px), 1fr)); }
.bio-instant-sizes button { justify-content: center; }
.bio-mcq-review { display: grid; gap: .55rem; }
.bio-mcq-review-option { padding: .65rem .8rem; background: var(--surface); border: 1px solid var(--border); border-radius: .6rem; }
.bio-mcq-review-option.is-correct { border-inline-start: 3px solid var(--accent); }
.bio-mcq-review-option.is-missed { border-inline-start: 3px solid var(--danger); }
.bio-mcq-review-option .helper { display: block; margin-top: .1rem; }
.bio-mcq-review-option p { margin: .3rem 0 0; }
.bio-mcq-review details { margin-top: .15rem; }
.bio-mcq-review details .bio-mcq-review-option { margin-top: .5rem; }
.bio-choice-set:disabled label { cursor: default; }
