.science-course {
  --science-purple: var(--nurse-purple, #6004ba);
  --science-purple-dark: var(--nurse-purple-dark, #4a0390);
  --science-lavender: var(--nurse-purple-light, #f3e8ff);
  --science-ink: var(--nurse-text, #333);
  --science-muted: #5c6269;
  --science-line: #d9dce1;
  --science-wash: #f7f3fb;
  box-sizing: border-box;
  background: #fff;
  color: var(--science-ink);
  font-family: Inter, -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 17px;
  line-height: 1.65;
}
.science-course *, .science-course *::before, .science-course *::after { box-sizing: border-box; }
.science-course a { color: var(--science-purple); text-underline-offset: 4px; }
.science-course a:hover { text-decoration-thickness: 2px; }
.science-course button, .science-course input { font: inherit; }
.science-course button, .science-course .button { min-height: 44px; padding: 10px 18px; border: 1px solid var(--science-purple); background: var(--science-purple); color: #fff; border-radius: 8px; font-weight: 650; cursor: pointer; text-decoration: none; display: inline-block; text-align: center; }
.science-course button:hover, .science-course .button:hover { background: var(--science-purple-dark); border-color: var(--science-purple-dark); }
.science-course button.secondary, .science-course .button.secondary { background: #fff; color: var(--science-purple); }
.science-course button:disabled { cursor: default; opacity: .55; }
.science-course :is(a,button,input,summary,[tabindex]):focus-visible { outline: 3px solid #a65b09; outline-offset: 4px; }
.science-course :is(h1,h2,h3) { color: var(--science-ink); font-family: Inter, -apple-system, BlinkMacSystemFont, sans-serif; line-height: 1.18; letter-spacing: -.025em; }
.science-course h1 { font-size: clamp(2rem,4vw,3.5rem); font-weight: 750; margin: 12px 0 20px; }
.science-course h2 { font-size: clamp(1.5rem,3vw,2rem); margin: 0 0 24px; }
.science-course h3 { font-size: 1.2rem; margin: 1.5em 0 .65em; }
.science-course p { margin: 0 0 1.1em; }
.science-course :is(ul,ol) { padding-left: 1.4em; }
.science-course li { margin: .35em 0; }
.science-course :is(img,svg) { max-width: 100%; height: auto; }
.science-course [hidden] { display: none !important; }
.science-course .wrap { max-width: 1200px; margin: auto; padding: 36px 28px 70px; }
.science-course .intro { max-width: 850px; }
.science-course .lead { color: var(--science-muted); font-size: 1.15rem; }
.science-course .eyebrow, .science-course .section-no { color: var(--science-purple); font-size: .75rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.science-course .breadcrumbs { font-size: .86rem; margin-bottom: 25px; }
.science-course .layout { display: grid; grid-template-columns: 230px minmax(0,760px); gap: 60px; align-items: start; }
.science-course .rail { position: sticky; top: 76px; font-size: .88rem; }
.science-course .rail nav { display: grid; gap: 6px; margin: 14px 0 25px; }
.science-course .rail a { padding: 7px 0; text-decoration: none; }
.science-course .rail a[aria-current] { border-left: 3px solid var(--science-purple); font-weight: 750; padding-left: 10px; }
.science-course .rail .button { display: block; margin-bottom: 12px; }
.science-course .lesson-tools { position: sticky; top: 0; z-index: 20; display: flex; justify-content: flex-end; gap: 10px; padding: 10px max(18px,calc((100% - 1200px)/2)); background: rgba(255,255,255,.96); border-bottom: 1px solid var(--science-line); }
.science-course .lesson-tools [data-contents] { display: none; }
.science-course.focus .rail { display: none; }
.science-course.focus .layout { grid-template-columns: minmax(0,760px); justify-content: center; }
.science-course .meta { display: flex; flex-wrap: wrap; gap: 8px; margin: 20px 0; }
.science-course .pill { border: 1px solid var(--science-line); border-radius: 30px; font-size: .8rem; padding: 4px 12px; }
.science-course .small, .science-course .storage-note, .science-course figcaption { color: var(--science-muted); font-size: .88rem; }
.science-course .outcomes, .science-course .key-ideas { background: var(--science-wash); border: 1px solid #d8c7e8; border-left: 5px solid var(--science-purple); border-radius: 12px; padding: 22px 26px; margin: 28px 0; }
.science-course .outcomes h2 { font-size: 1rem; letter-spacing: 0; margin-bottom: 10px; }
.science-course .instruction { border-top: 1px solid var(--science-line); padding: 42px 0; }
.science-course :is(.instruction,.key-ideas,.quiz,[id],legend) { scroll-margin-top: 80px; }
.science-course .section-no { display: block; margin-bottom: 13px; }
.science-course .instruction table { border-collapse: collapse; width: 100%; table-layout: fixed; font-size: .9rem; margin: 25px 0; }
.science-course .instruction :is(th,td) { border-bottom: 1px solid var(--science-line); overflow-wrap: anywhere; padding: 12px 10px; text-align: left; vertical-align: top; }
.science-course .instruction th { background: var(--science-wash); }
.science-course .instruction caption { font-weight: 700; text-align: left; margin-bottom: 10px; }
.science-course :is(.instruction blockquote,.worked-example,.example,.memory-cue,.note) { background: var(--science-lavender); border-left: 4px solid var(--science-purple); border-radius: 0 10px 10px 0; margin: 24px 0; padding: 20px 24px; }
.science-course .instruction :is(details,.prereq), .science-course details.outcomes { border: 1px solid var(--science-line); border-radius: 9px; margin: 22px 0; padding: 16px 20px; }
.science-course summary { cursor: pointer; font-weight: 650; min-height: 32px; }
.science-course details[open] summary { margin-bottom: 12px; }
.science-course .diagram { background: #faf9fc; border: 1px solid var(--science-line); border-radius: 14px; margin: 32px 0; padding: 24px; overflow-x: auto; }
.science-course .diagram-layout { display: grid; grid-template-columns: minmax(180px,1fr) 1fr; gap: 24px; align-items: center; }
.science-course .diagram img { display: block; width: 100%; max-height: 570px; object-fit: contain; }
.science-course .diagram-key { list-style: none; padding: 0; font-size: .88rem; }
.science-course .badge { display: inline-flex; width: 26px; height: 26px; align-items: center; justify-content: center; border: 2px solid var(--science-purple); color: var(--science-purple); background: #fff; font-weight: 750; margin-right: 7px; }
.science-course .badge.axial { border-radius: 50%; }
.science-course .cells, .science-course .cards { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.science-course :is(.cell,.card) { background: #fff; border: 1px solid var(--science-line); border-radius: 12px; padding: 22px; }
.science-course .cell:last-child { grid-column: 1/-1; }
.science-course .check { background: var(--science-wash); border: 1px solid #d8c7e8; border-radius: 12px; padding: 24px; margin: 30px 0; }
.science-course .check h3 { margin-top: 0; }
.science-course .question fieldset { padding: 0; border: 0; min-width: 0; }
.science-course .question legend { width: 100%; font-size: 1.08rem; font-weight: 650; margin-bottom: 16px; }
.science-course .options { display: grid; gap: 10px; margin-bottom: 20px; }
.science-course .option { display: flex; align-items: flex-start; gap: 12px; min-height: 48px; padding: 12px; border: 1px solid #b8bcc3; border-radius: 8px; background: #fff; cursor: pointer; }
.science-course .option:has(input:checked) { background: var(--science-lavender); border-color: var(--science-purple); }
.science-course .option input { width: 18px; height: 18px; flex-shrink: 0; margin-top: 6px; accent-color: var(--science-purple); }
.science-course .feedback:not(:empty) { border-top: 1px solid var(--science-line); margin-top: 22px; padding-top: 18px; }
.science-course .quiz { border-top: 3px solid var(--science-purple); padding-top: 35px; }
.science-course .quiz-toolbar, .science-course .actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin: 20px 0; }
.science-course .quiz-toolbar { justify-content: space-between; }
.science-course .quiz-status { color: var(--science-muted); font-size: .88rem; }
.science-course .quiz-nav { display: flex; flex-wrap: wrap; gap: 8px; margin: 20px 0; }
.science-course .quiz-nav button { min-width: 44px; padding: 8px; background: #fff; color: var(--science-purple); }
.science-course .quiz-nav button[aria-current] { background: var(--science-purple); color: #fff; }
.science-course .results-score { color: var(--science-purple); font-size: 3.2rem; font-weight: 700; line-height: 1.2; margin: 16px 0; }
.science-course .result-item { border-top: 1px solid var(--science-line); padding: 25px 0; }
.science-course .error { color: #8a2d1c; font-weight: 650; }
.science-course dialog { border: 1px solid var(--science-line); border-radius: 12px; width: min(90vw,460px); max-height: 85vh; padding: 24px; color: var(--science-ink); background: #fff; }
.science-course dialog::backdrop { background: #17212dcc; }
.science-course dialog nav { display: grid; gap: 8px; margin: 20px 0; }
.science-course .term-review dl>div { display: grid; grid-template-columns: minmax(100px,1fr) 2fr; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--science-line); }
.science-course .term-review dt { font-weight: 750; color: var(--science-purple-dark); background: var(--science-lavender); padding: 2px 6px; border-radius: 4px; align-self: start; }
.science-course .term-review dd { margin: 0; }
.science-course .instruction p>strong, .science-course .instruction li>strong { font-weight: 750; color: var(--science-purple-dark); background: var(--science-lavender); padding: 0 .12em; border-radius: 2px; }
.science-course .lesson-pagination { display: flex; justify-content: space-between; gap: 24px; border-block: 1px solid var(--science-line); padding: 24px 0; }
.science-course .legend, .science-course .module-nav { display: flex; flex-wrap: wrap; gap: 10px; margin: 20px 0; }
.science-course .module-nav a { background: #fff; border: 1px solid var(--science-line); border-radius: 24px; padding: 8px 13px; text-decoration: none; }
.science-course .search-box { max-width: 640px; margin: 32px 0; }
.science-course .search-box label { display: block; font-weight: 700; margin-bottom: 8px; }
.science-course .search-box input { width: 100%; min-height: 48px; padding: 13px 16px; border: 1px solid #777d85; border-radius: 8px; background: #fff; }
.science-course .curriculum-module { border-top: 1px solid var(--science-line); padding: 25px 0 35px; }
.science-course .module-heading { display: flex; justify-content: space-between; gap: 20px; align-items: baseline; }
.science-course .curriculum-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.science-course .lesson-card { display: flex; flex-direction: column; overflow-wrap: break-word; }
.science-course .lesson-card .lesson-go { margin-top: auto; font-weight: 700; }
.science-course .source-figure img { display: block; width: auto; max-width: 100%; max-height: none; margin: 0 auto; background: #fff; }
.science-course .source-figure .image-link { display: block; background: #fff; }
.science-course .ratio-line { display: grid; grid-template-columns: 55px repeat(4,1fr); gap: 4px; align-items: center; text-align: center; font-size: .9rem; }
.science-course .ratio-line span { padding: 10px 0; border-bottom: 3px solid var(--science-purple); }
.science-course .ratio-line + .ratio-line { margin-top: 15px; }
.science-course .relationship { color: var(--science-purple-dark); font-weight: 700; text-align: center; }

@media (max-width:900px) {
 .science-course .layout { grid-template-columns: minmax(0,760px); justify-content: center; }
 .science-course .rail, .science-course .lesson-tools [data-focus] { display: none; }
 .science-course .lesson-tools [data-contents] { display: inline-block; }
 .science-course .wrap { padding-top: 26px; }
 .science-course .curriculum-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width:600px) {
 .science-course { font-size: 16px; }
 .science-course .wrap { padding: 24px 18px 50px; }
 .science-course :is(.cards,.cells,.diagram-layout) { grid-template-columns: 1fr; }
 .science-course .cell:last-child { grid-column: auto; }
 .science-course .diagram, .science-course .check, .science-course .outcomes, .science-course .key-ideas { padding: 18px; }
 .science-course .instruction { padding: 32px 0; }
 .science-course .instruction :is(th,td) { padding: 8px 5px; }
 .science-course .term-review dl>div { grid-template-columns: 1fr; gap: 4px; }
 .science-course .lesson-pagination { display: grid; }
 .science-course .curriculum-grid { grid-template-columns: 1fr; }
 .science-course .module-heading { display: block; }
}
@media (prefers-reduced-motion:reduce) { .science-course { scroll-behavior: auto; } }
@media print {
 .science-course .rail, .science-course .lesson-tools, .science-course .actions, .science-course button { display: none !important; }
 .science-course .layout { display: block; }
 .science-course .wrap { padding: 0; }
 .science-course .question { break-inside: avoid; }
}

.science-course .skip { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.science-course .skip:focus { position: fixed; top: 8px; left: 8px; width: auto; height: auto; overflow: visible; clip-path: none; z-index: 2000; background: #fff; padding: 12px; }

/* Original Science question stimuli; Math uses its own script and scoped styles. */
.science-course:not(.math-course) .question-stimulus{margin:1rem 0;max-width:100%;overflow-x:auto;}
.science-course:not(.math-course) .question-stimulus svg,.science-course:not(.math-course) .instruction svg{display:block;width:100%;max-width:660px;height:auto;margin:auto;background:#fff;color:#172035;}
.science-course:not(.math-course) .question-stimulus table{border-collapse:collapse;width:100%;min-width:260px;}
.science-course:not(.math-course) .question-stimulus th,.science-course:not(.math-course) .question-stimulus td{border:1px solid #94a3b8;padding:.6rem;text-align:left;}
.science-course:not(.math-course) .question-stimulus caption{font-weight:700;text-align:left;padding:.5rem 0;}
.science-course:not(.math-course) .instruction p{overflow-wrap:anywhere;}

.science-course:not(.math-course) .question-stimulus:focus-visible{outline:3px solid #7022e8;outline-offset:3px;}

.science-course:not(.math-course) .question-stimulus svg{min-width:480px;}

/* Bootstrap CTA anchors share the same readable states as native buttons. */
.science-course :is(a,button).btn-primary,
.science-course :is(a,button).btn-primary:visited {
  background: var(--science-purple);
  border-color: var(--science-purple);
  color: #fff;
}
.science-course :is(a,button).btn-primary:is(:hover,:focus,:active) {
  background: var(--science-purple-dark);
  border-color: var(--science-purple-dark);
  color: #fff;
}
.science-course :is(a,button):is(.btn-outline-primary,.btn-outline-secondary) {
  background: #fff;
  border-color: var(--science-purple);
  color: var(--science-purple);
}
.science-course :is(a,button):is(.btn-outline-primary,.btn-outline-secondary):is(:hover,:focus,:active) {
  background: var(--science-lavender);
  border-color: var(--science-purple-dark);
  color: var(--science-purple-dark);
}
.science-course :is(a,button).btn-outline-danger {
  background: #fff;
  border-color: #a12828;
  color: #701b1b;
}
.science-course :is(a,button).btn-outline-danger:is(:hover,:focus,:active) {
  background: #fff0f0;
  color: #701b1b;
}
/* Account status badges contain words, unlike the compact question numbers. */
.science-course .badge.mastery-badge {
  width: auto;
  height: auto;
  min-height: 26px;
  white-space: normal;
  line-height: 1.4;
  padding: 4px 8px;
  background: #fff !important;
  color: var(--science-purple-dark) !important;
}
.science-course :is(a,button).btn-success {
  background: #17653f;
  border-color: #17653f;
  color: #fff;
}
.science-course :is(a,button).btn-success:is(:hover,:focus,:active) {
  background: #114e30;
  border-color: #114e30;
  color: #fff;
}
.science-course :is(a,button).btn-danger {
  background: #a12828;
  border-color: #a12828;
  color: #fff;
}
.science-course :is(a,button).btn-danger:is(:hover,:focus,:active) {
  background: #701b1b;
  border-color: #701b1b;
  color: #fff;
}
.science-course :is(a,button).btn-light,
.science-course :is(a,button).btn-light:is(:hover,:focus,:active) {
  background: #fff;
  border-color: #fff;
  color: var(--science-purple-dark);
}
